
WPF
文章平均质量分 71
PunCha
这个作者很懒,什么都没留下…
展开
-
FocusScope学习三: 对FocusScope 的探究与总结
http://social.msdn.microsoft.com/forums/en-US/wpf/thread/f5de6ffc-fa03-4f08-87e9-77bbad752033/这个帖子很好的讨论了Focus Scope的种种,WeiFen 和John给出了我最接受的总结: 我在最后也给出了我的总结:From WeiFen:I think I can转载 2012-03-28 22:15:52 · 2564 阅读 · 0 评论 -
IsSynchronizedWithCurrentItem 会让 ListBox 默认选中第一项
<Expander HorizontalContentAlignment="Stretch" ExpandDirection="Down" Expanded="Expander_Expanded" Header="{Binding ElementName=PART_H原创 2012-04-02 13:31:27 · 3412 阅读 · 0 评论 -
隶属于普通类型(与DependencyObject和DependencyProperty相区别)的属性的绑定
WPF里面,假如将UI绑定到一个普通类型的属性上,一旦属性更新,UI是不会刷新的,因为UI控件接收不到更新的通知嘛,所以很多书上说,有3种方法可以解决这个问题:1)实现IPropertyNotify接口2)针对每一个属性一个XXXChanged事件3) 变成一个DependecyObject,变成DependencyObject。 其实,还有第4个方法,那就是将该属性绑定到另一原创 2012-04-08 00:40:39 · 2837 阅读 · 0 评论 -
ListBox绑定的研究
本文主要研究ListBox的绑定,一般来说,ListBox常用的绑定属性是ItemsSource和SelectedItem,但是本文讨论的是其他两个属性:SelectedValue, SelectedValuePath。下面这个程序很有意思,改变左侧的选中项,右侧的选中项会跟着变,下面2个TextBox里面的内容也会显示出选中的内容。例如我选中了"Mike",右侧自动选中了"Dog",下面两个Te原创 2012-04-08 00:41:24 · 2315 阅读 · 1 评论 -
FrameworkPropertyMetadataOptions.Inherits 属性沿袭
今天研究了下属性的沿袭(DependencyProperty Inherit),研究之后和原来想象的有些出入:假如我有一个自定义的Button, ClickedButton继承自Button控件,又增加了一个DependencyProperty(设计成可继承的), IsClicked。在XAML里面,假如我把Button的Content设置成TextBlock的话,按照以前的想法,TextBl原创 2012-04-01 10:52:36 · 1448 阅读 · 0 评论 -
DataGridComboBoxColumn为什么就不能在Binding的时候引用其他Named Element了呢?
下面是代码,摘自一个简单的项目,模拟的是将数据库中的内容放到表格里面,其中有一列,“资源类型”是一个ComboBox,能够让用户进行选择。资源类型绑定在2个对象中,源数据是通过Restypes数组获得,而选中项是通过ResData的FK_RESID来指定: /// /// Interaction logic for MainWindow.xaml ///原创 2012-04-19 16:27:16 · 2430 阅读 · 0 评论 -
WPF与输入法冲突研究之一:百度输入法会导致WPF程序的崩溃!
哎,在学习和使用了WPF一段时间之后,有点感觉WPF是个不太成熟的框架,不知道是我学的太肤浅,还是WPF得BUG太多! >>>>>>>模拟场景客户:能用WPF给我编写个小程序吗?程序员:哦,什么样的小程序?客户:一旦我输入什么东西,你就给我弹出一个警告框。程序员:这么简单?!还有别的要求吗?客户:支持各种输入法,不能崩溃!程序员:哦,收您500可以吗?客户:原创 2012-10-09 15:34:04 · 6134 阅读 · 1 评论 -
WPF RadioButton的探究,为啥选中一个其他都自动不选中了呢?
研究这个是出于一个群聊中碰到的一个问题:“我现在遇到个很尴尬的局面。。 我封装了一个控件 有状态A和B, 并排放置10个控件在一个Grid下面 希望点击一个控件变为A状态后 其它9个都变为状态B”,这不禁让我想起了WPF的RadioButton, 他有一个有趣的功能:“如果需要用自定义的方法对RadioButton作分组,那么可以用它的GroupName属性,这个属性是字符串类型的,任何拥有原创 2012-10-12 16:39:15 · 8015 阅读 · 2 评论 -
WPF大牛Josh Smith 转投 iOS 的怀抱
偶然间,从RSS的订阅发现,曾经的WPF的牛人Josh Smith已经转投了iOS怀抱,哎,他是被WinRT伤了心。。就像他在Becoming an iOS Developer博文中写道:Despite my years ofinvestment in becoming a Windows desktop software developer, and my four yearsas a Mi原创 2012-11-13 11:27:07 · 1992 阅读 · 0 评论 -
WPF与输入法冲突研究之三:韩文输入法在不同平台,WinForm/WPF下的区别
输入法的问题,已经把我折腾的精疲力尽了。。终于在Win7平台上,中日韩三国输入法能够在WPF上正确使用之后,WinXP又不行了。。。韩文输入法无法正确使用。。。好吧,只能做几个小程序,测试下韩文输入法在不同平台,不同框架(WinForm/WPF)下的区别:1. 韩文在输入过程中,很奇特,会有一个高亮闪烁的小方块,这个表示,当前的韩文字符正在构造中,他会随着你之后的输入而变化,这个高原创 2013-01-05 12:23:45 · 2054 阅读 · 0 评论 -
终端服务的剪贴板的缺陷,导致WPF调用Clipboard.SetText() 失败
这是一个在实际项目中遇到的问题,在VPN和远程桌面中,WPF程序对系统剪贴板进行操作的时候,发生CLIPBRD_E_CANT_OPEN异常。从异常本身来看,很明显,是COM有问题。代码很简单 Clipboard.SetText(mSelection); 但是注意,这个是WPF的窗口,所以调用的是 System.Windows.Clipboard,而不是WinForm的Syste原创 2012-11-12 15:15:11 · 4662 阅读 · 1 评论 -
WPF与输入法冲突研究之二:TextInput事件的BUG?
哎,在学习和使用了WPF一段时间之后,有点感觉WPF是个不太成熟的框架,不知道是我学的太肤浅,还是WPF得BUG太多! >>>>>>>模拟场景客户:我需要一个能实时响应用户输入的程序,你能实现一下吗?程序员:哦,那个简单啊,一个TextBox就能解决了。客户:给我写个Demo吧,就把用户每次输入的内容,现实在程序里面就行了。程序员:好的。客户:不过有一点要注意,我们的客原创 2012-10-09 16:11:41 · 5736 阅读 · 1 评论 -
在XAML里面引用枚举值的注意点
本来以为XAML的扩展x:Static很简单,但在实际的编程过程中,遇到了不小的麻烦,看如下代码(其中,VM名字空间指向正确),我试图将枚举值FetchAndShowMode赋给CommandParameter,可是却编译出错:Cannot find the type 'MoviesVM.FetchAndShowMode'. Note that type names are case sensit原创 2012-04-07 10:43:10 · 3031 阅读 · 0 评论 -
ListBox Grouping的研究(二):ContainerStyle 与 GroupItem的绑定对象
延续上文,我对代码略作了改动:(1)增加了一个ControlStyleSelector,用来调试GroupItem真正的绑定对象。(2)实现了GroupStyle.ContainerStyle。为了调试,我先实现了一个Auto-Apply的Style,在文章最后给出了真正的实现。数据结构: class Data { public s原创 2012-04-05 00:11:29 · 4645 阅读 · 1 评论 -
FocusScope学习一: Logic Focus与Keyboard Focus
Logic Focus与Keyboard Focushttp://www.cnblogs.com/Code-life/archive/2009/12/06/1618017.html1.定义Keyboard Focus可以理解为物理焦点。就是整个桌面上可以响应键盘输入的地方,整个桌面在某个时刻只可能有一个地方能接受键盘的输入,因此整个桌面在某个时刻只可能有转载 2012-03-28 21:39:43 · 1550 阅读 · 0 评论 -
FocusScope学习二: 很好的理解FocusScope的工作原理
http://www.codeproject.com/Articles/38507/Using-the-WPF-FocusScopeIntroductionOften, it is useful to maintain a separate focus for different parts of the user interface. For example, when yo转载 2012-03-28 21:58:07 · 5031 阅读 · 0 评论 -
WPF:详解创建Lookless自定义控件——文件选择控件
转载:作者MGen 原文链接http://www.cnblogs.com/mgen/archive/2012/01/10/2318269.htmlWPF:详解创建Lookless自定义控件——文件选择控件 目录-1:控件演示和源代码下载0. 准备工作1. 继承Control类型2. 添转载 2012-03-30 00:05:33 · 1848 阅读 · 0 评论 -
WPF Snoop 2.7 源码研究
原创 2012-04-01 15:07:40 · 1752 阅读 · 2 评论 -
Property trigger VS DataTrigger
Original: http://blog.sina.com.cn/s/blog_4cc3c0380100j9ra.htmlConsider the following screenshot. There is a ListBox which simply hold several string items. We want the items get red foreground whe转载 2012-04-01 10:50:13 · 1045 阅读 · 0 评论 -
StaticResourceExtension DynamicResourceExtension
StaticResourceExtension 和 DynamicResourceExtension都接受一个ResourceKey的参数,ResourceKey的类型是object类型的,所以不限于string。在Xaml里面,假如参数是String类型的,则可以直接用{StaticResource someKeyName}来使用,但是假如你需要引用系统的资源,例如SystemColors.Ac原创 2012-04-01 10:55:16 · 1676 阅读 · 0 评论 -
一个“>”导致我调试了1个小时才解决问题
在XAML里面写了如下的代码: <Expander HorizontalContentAlignment="Stretch" ExpandDirection="Down" Expanded="Expander_Expanded"原创 2012-04-02 13:23:00 · 1177 阅读 · 0 评论 -
Attached Property在Xaml中,使用Property Element的写法
Command: Right Button Right 看到了吗?假如把Attached Property, DockPanel.Dock使用Property Element来设置,而不是通过常规的XML 属性来赋值的话,是直接写在Element内部,并且不用使用Elememt作为前缀的(Button.DockPanel.Dock是错原创 2012-04-03 23:59:44 · 1248 阅读 · 0 评论 -
ListBox Grouping的研究(三):Grouping 级联
延续上文,我又对代码略作了改动:(1)改写了Data类,增加了Level1、Level2两个属性,可以让数据先根据Level1 Grouping,然后在根据Level2 Grouping。(2)对GroupItem 的 ControlTemplate 增加了Marging和Padding,好让UI看上去有层次感。除此之外,我没有做任何改动!数据结构: class原创 2012-04-05 00:52:20 · 1780 阅读 · 1 评论 -
原来Image控件的Source属性是一个ImageSource对象啊!
这里只是一个示范,其实是可以将数据库中取出来的二进制数据,直接转换成一个BitmapImage对象返回的: public class ImageConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Glo原创 2012-04-02 20:19:50 · 9442 阅读 · 1 评论 -
ListBox Grouping的研究(一):初探GroupItem对象
为什么我会对此进行研究呢?是因为我想看看,能否增强一下ListBox的分组功能,让他支持组内元素展开与收缩(类似于TreeView):WPF 的 ItemsControl 天生支持Grouping(分类),据Pro WPF in C#2010所说:When you use grouping, your list creates a separate GroupItem object for原创 2012-04-04 23:04:09 · 9303 阅读 · 2 评论 -
TSF 在Win 8.1下的问题处理(未写完)
最近发现,之前解决的输入法问题在Windows 8.1下又不工作了,联系了微软给出了解决方案,先写把原型代码贴一下: if (!(GetKeyState(VK_CONTROL) < 0)) { if (!IPEIsActive()) { try原创 2014-01-22 18:31:09 · 2724 阅读 · 0 评论