Avatar
I'm a beginner.
GitHub Email RSS

VS2013安装Xamarin

Xamarin官方提供了XamarinInstaller ,可以方便的下载Xamarin所需的依赖包,不过需要填写一些注册信息,当然,也可以手动下载这些依赖包,可参考下面这份XML:

更多 →

January 7, 2015

WPF异步加载BitmapImage

在WPF中异步获取HTTP图片并赋值给Image控件,遇到诸多问题,如多线程队列,资源不释放等,最终琢磨出下面的方式: BackgroundWorker worker = new BackgroundWorker(); worker.DoWork += (s, e) => { Uri uri = e.Argument as Uri; using (WebClient webClient = new WebClient()) { webClient.Proxy = null; webClient.CachePolicy = new RequestCachePolicy(RequestCacheLevel.Default); try { byte[] imageBytes = null; imageBytes = webClient.DownloadData(uri); if (imageBytes == null) { e.Result = null; return; } MemoryStream imageStream = new MemoryStream(imageBytes); BitmapImage image = new BitmapImage(); image.BeginInit(); image.StreamSource = imageStream; image.CacheOption = BitmapCacheOption.OnLoad; image.EndInit(); image.Freeze(); imageStream.Close(); e.Result = image; } catch (WebException ex) { e.Result = ex; } } }; worker.RunWorkerCompleted += (s, e) => { BitmapImage bitmapImage = e.Result as BitmapImage; if (bitmapImage != null) { myImage.Source = bitmapImage; } worker.Dispose(); }; worker.RunWorkerAsync(imageUri);

更多 →

November 24, 2014

EntityFramework5.0与WCF使用遇到的问题

在使用EntityFramework5.0,并将其作为WCF放在服务端的时候遇到了如下问题: 1. EF在客户端与服务端之间传输问题 由于将EF放在服务端,所以类必须具有DataContract属性。

更多 →

October 23, 2014

资源键Key

1. 什么是资源键 资源键x:Key用作创建和引用资源的唯一标识,作用类似于名称,常出现在ResourceDictionary中且要求必须为 ResourceDictionary 内的每项定义一个键。

更多 →

August 19, 2014

如何在WPF中停止线程

1. Abort的非及时性 使用多线程经常会遇到一个问题,如何停止这个Thread?在WPF中提供了Abort方法,但MSDN却告诉我们:

更多 →

July 25, 2014

在ControlTemplate中使用VisualTreeHelper和LogicalTreeHelper

在TabControl中给TabItem定义如下的Template: <ControlTemplate TargetType="{x:Type TabItem}"> <Grid x:Name="templateRoot" SnapsToDevicePixels="true"> <Border x:Name="mainBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1,1,1,0" Background="{TemplateBinding Background}" Margin="0"> <Border x:Name="innerBorder" BorderBrush="{StaticResource TabItem.Selected.Border}" BorderThickness="1,1,1,0" Background="{StaticResource TabItem.Selected.Background}" Margin="-1" Opacity="0"/> </Border> <DockPanel Margin="2,0"> <Button Click="Button_Click" DockPanel.Dock="Right" Content="X" Background="{x:Null}" BorderBrush="{x:Null}" Foreground="Blue"/> <ContentPresenter x:Name="contentPresenter" ContentSource="Header" Focusable="False" HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/> </DockPanel> </Grid> </ControlTemplate> 实现的效果是给每一个TabItem添加关闭按钮:

更多 →

July 11, 2014

InstallShield Limited Edition for Visual Studio 2013教程

【安装篇】 打开VS2013,文件-新建-项目-已安装-模板-其他项目类型-安装和部署-启用InstallShield Limited Edition。 根据提示操作,点击步骤2的“转到下载网站”。 填写相关信息后,点击Download下载InstallShield,同时注册邮箱会收到一封邮件,里面有序列号和下载链接。 退出VS,使用管理员权限重新打开VS,在文件-新建-项目-已安装-模板-其他项目类型-安装和部署中则可以看到InstallShield Limited Edition Project,点击确定,会弹出注册对话框,输入注册邮箱中收到的序列号即可完成注册。 PS:在win8.1下可能会遇到安装InstallShield后在VS中看不到"InstallShield Limited Edition Project",只有“启用InstallShield Limited Edition”的问题,在StackOverFlow 中也有人遇到类似问题,我提出并整理这个问题后发现并不是win8.1不能安装InstallShield,从win8.1企业版更换到win8.1专业版后没有出现问题,由于没有继续在win8.1企业版下测试,所以只猜测是win8.1企业版下会出现该问题,或者是由于系统缺失文件,文件被篡改等原因,如果重新安装win8.1企业版仍不能解决,则尝试安装win8.1专业版。

更多 →

July 1, 2014

管理员权限打开VisualStudio无法访问网络磁盘的解决办法

【问题产生】 问题最初是在administrator权限下,visual studio 打开网络磁盘下的文件报错。经过几次调试,最终发现是问题是在管理员权限下,vs无法访问网络磁盘。

更多 →

June 16, 2014

C#调用C DLL参数问题

首先回顾一下API和C#参数类型的基本对应关系: 需要注意的是这个对应关系是传入参数的对应关系,如果是输出参数,LPSTR和LPCSTR(也就是C/C++里面的char*),对应的就要是StringBuider。

更多 →

June 12, 2014

WPF中ListView使用GridViewColumn居中对齐的方法

在WPF中使用ListView经常会用到GridView作为视图,但是却碰到GridViewColumn不能居中对齐的问题,首先想到不使用GridViewColumn的DisplayMemberBinding属性,直接设置DataTemplate,于是尝试修改代码为:

更多 →

May 22, 2014

1...678910...16