尽量多使用Canvas等简单的布局元素,少使用Grid或者StackPanel等复杂的,减小开销。少用Margin Padding尤其避免嵌套使用。在自定义控件,尽量不要在控件的ResourceDictionary定义资源,而应该放在Window或者Application级。因为放在控件中会使每个实...
分类:
其他好文 时间:
2014-07-16 22:53:45
阅读次数:
164
Binding在Slider控件与TextBox控件之间建立关联,值可以互相绑定,但是它们的数据类型是不同的,Slider是Double类型,Text为String。原来,Binding有一种机制称为数据转换(Data Converter),当数据绑定的源与目标不同类型时,处理比较简单时,系统就自动...
分类:
其他好文 时间:
2014-07-16 22:48:23
阅读次数:
229
我们知道,在WPF中对应一个DependencyObject,我们很容易通过AttachedProperty来为类型附加一个属性。但对于普通的Object而言,这就不可行了,不过还是可以耍一些小花招。
分类:
其他好文 时间:
2014-07-16 21:54:21
阅读次数:
168
网上找了 好久 没找到好的自己实现了3种1.用clip属性2。用装饰器Adorner3.修改模板1。clip 就是画一个圆角矩形但是这个在listview size 变化时 也要调用这个方法代码如下: 1 using System; 2 using System.Windows; 3 using S...
分类:
其他好文 时间:
2014-07-16 21:24:58
阅读次数:
279
程序通常需要显示某些提醒用户警示的信息,如:收件箱(40)其中数量闪烁就会起到警示效果。可以适用如下Storyboard实现: ...
分类:
其他好文 时间:
2014-07-16 21:14:10
阅读次数:
747
浅谈C#中常见的委托Func,Action,Predicate全面解析,winform和WPF更新UI
分类:
其他好文 时间:
2014-07-16 19:48:32
阅读次数:
293
//only set DialogResult when window is ShowDialog before if(System.Windows.Interop.ComponentDispatcher.IsThreadModal) m_Ow...
在Binding close event时候,需要从ViewModel关闭Window.一个很简洁的解决方案就是,将Window 当做CommandParameter传过去。Command="{Binding SaveCommand}"CommandParameter="{Binding Eleme...
做WPF项目时遇到不同进程读取同一个路径的图片,提示图片资源正在被另一个进程使用。string path="c:\\1.png";BitmapImage bp = new BitmapImage(new Uri(path, UriKind.Relative));这时候不同进程用bp是会报错,异常的根...