摘要:当程序在进行一项耗时的工作时,加上一个UI显示当前的进度,这样可以避免让用户等到不耐烦,客户可能以为死机了,可能狂点鼠标,造成更差的效率问题。对于这个问题,解决方法有多种:1,都在主线程中进行,将耗时任务分解成小块,主线程处理,同时更新GUI,MSDN中有个很好的例子 "A Single-Threaded Application with a Long-Running Calculation";2,工作线程为非GUI线程,负责处理耗时工作,主线程更新GUI。这种方法只有一个GUI线程,对多线程编程,这个是通常的选择;3,主线程,工作线程都是UI线程,主线程处理耗时工作,工作线程负责处理UI更新
阅读全文
12 2010 档案
摘要:提示1:使用 RowDefinition.MinHeight/MaxHeight, ColumnDefinition.MinWidth/MaxWidth;使用时应尽可能靠近 virtual tree 的根部。它们都是 Attached Property,所以在使用 Grid 时才有用;[代码]
阅读全文
摘要:适度的结合 xmal 和 code behind在学习和实践了一段日子 data binding 后,一直追求完全使用 xaml 而不用 code behind 去实现 data/command binding。感觉这个想法不是很正确,如果希望设计出完美支持 xaml 的 view model 和 data model 还是不容易,尤其是经验有限的时候。问题:举一个例子,设想你有一个 editable 的 combobox ,有2个按钮,一个“rename”,一个 “add name” (这里不讨论为什么这么设计,就要这么实现)。希望使用 command binding 来实现 rename。
阅读全文
摘要:MFC的工具栏和停靠窗口的状态在程序启动时从注册表中load,在程序退出时save。- CWindAppEx::m_bSaveState 标记是否需要自动存储;- CWindAppEx::OnClosingMainFrame() 重载,可以自定制存储行为;- 注册表key:HKEY_CURRENT_USER\Software\company name\porduct name\Workspace
阅读全文
摘要:1,使用 WPF 自定制:用 2 个 RepeatButton,用 ViewBox 包装“”“”作为 Content ,再旋转 90 度。2,包装 Windows.Forms.DomainUpDown 或者 Windows.Forms.NumericUpDown
阅读全文
摘要:例子1 :需要获得 ListBox 中的 Canvas方法1:Loaded 事件[代码]方法2:[代码]例子2:想获取一个可编辑的 ComboBox 中的 TextBox (顺便说一句,如果不可编辑,则是个 TextBlock,可以使用 SNOOP 来观察)可编辑的ComboBox含有一个TextBox使用VisualTreeHelper找到TextBox
阅读全文
摘要:-metadata 提供了定制 porperty 的能力,你不需要重写整个类,就能得到个性化的东西- metadata 回调机制可以被巧妙的应用,例如,实现command binding到items control的selection changed
阅读全文

浙公网安备 33010602011771号