随笔分类 -  WPF

由DataGridTextColumn不能获取到父级DataContext引发的思考
摘要:在项目中使用DataGrid需要根据业务动态隐藏某些列,思路都是给DataGrid中列的Visibility属性绑定值来实现(项目使用MVVM),如下如果不是在DataGridTextColumn上绑定,那么这段代码是可以工作的,问题出在DataGridTextColumn上,我们来看它的继承层次它不是FrameworkElement的派生类,所以它不具有DataContext属性,也就是说,即使DataGrid有DataContext,DataGridTextColumn也不能得到它,Visibility找不到DataContext自然绑定不上,这就是为什么上面的绑定失效的原因,同样其他.. 阅读全文

posted @ 2014-01-28 21:46 软件部 阅读(2416) 评论(2) 推荐(1)

GDI+中发生一般性错误的解决办法(转帖)
摘要:今天在开发.net引用程序中,需要System.Drawing.Image.Save 创建图片,debug的时候程序一切正常,可是发布到IIS后缺提示出现“GDI+中发生一般性错误”的异常。于是开始“摆渡”,并寻找到了解决办法:赋予 NETWORK SERVICE 帐户以写权限。以下为晚上寻找到的资料:在开发.NET应用中,使用 System.Drawing.Image.Save 方法而导致“GDI+ 中发生一般性错误”的发生,通常有以下三种原因:1. 相应的帐户没有写权限。解决方法:赋予 NETWORK SERVICE 帐户以写权限。2. 指定的物理路径不存在。解决方法:在调用 Save 方 阅读全文

posted @ 2014-01-07 12:11 软件部 阅读(347) 评论(0) 推荐(0)

WPF中RadioButton绑定数据的正确方法
摘要:RadioButton一般用于单选的时候,也就是从一组值中选择一个值。比如性别有“男”和“女”两种取值,而对于一个员工的实例来说,性别的取值要么是男,要么是女。这种时候一般就会用到RadioButton。RadioButton有一个IsChecked属性用于表示是否选中,IsChecked属性的值类型是bool,只能直接绑定bool类型的值。然而对于大多数时候来说,这种多选一的值我们一般会采用枚举等类型。比如性别我们会定义如下的枚举: public enum Sex { Male, Female }对于员工类,我们作如下定义: public ... 阅读全文

posted @ 2013-12-28 16:50 软件部 阅读(32540) 评论(8) 推荐(4)

WPF中RadioButton的分组
摘要:当界面上出现多组Radiobutton时,将所有的Radiobutton写在同一个Grid里面,导致系统认为所有的Radiobutton是同一组,造成选择混乱,解决的方法:1.要为属于同个组的Radiobutton设置相同的GroupName,绑定同一个变量;2.若没有为Radiobutton设置GroupName,则将属于同一组的Radiobutton放在一个容器中,如wrappannel里面。通常为Radiobutton设置转化器,将不同的button上对应的值,与选中与不选中进行转换,下面展示例子,示例中有三种转换器:EnumToBoolConverter,IntToBoolConver 阅读全文

posted @ 2013-12-23 21:03 软件部 阅读(16264) 评论(0) 推荐(2)

WPF中资源引用方式汇总
摘要:在WPF应用程序开发中,总是难以记住各种访问资源的方法,遂逐一记下。 先从资源是否编译到程序集分类 一.程序集资源 资源在编译的时候嵌入到程序集中。WPF中的XAML会被编译为BAML,图片等其他资源均被编译到程序集中AssemblyResources.g.resources中 为了能够成功使用程序集资源,需要注意一下两点:资源的Build Action必须是Resource,不复制到输出目录。不要在Project Properties中使用Resource选项卡,WPF不支持这种类型的资源URI。 使用资源 可以在XAML中使用如下方式使用资源 ... 阅读全文

posted @ 2013-12-18 15:15 软件部 阅读(12183) 评论(0) 推荐(1)

关于wpf窗体中Allowtransparent和WindowsFormsHost的纠纷
摘要:最近有个项目需要在wpf中浏览pdf文档,所以就采用了Adobe Reader 的com组件(该组件只能用在winform中,幸好wpf里可以通过WindowsFormsHost寄宿winform程序),用着感觉还不错,能满足这个项目的需要。正当我窃喜的时候,在一次调整界面样式后,突然发现pdf文档不显示了。当时以为又是上次的自适应问题,就不慌不忙的按照老套路去解决,结果。。。废了半天劲都没有找到原因,我只好去请教部门的大牛了,通过一番努力,基本上确认了是因为样式的问题引起的。然后就是一番体力活,由于最近添加的样式比较多,没办法,只有一个一个的去排除。杀死弄多脑细胞后,终于找到罪魁祸首Al.. 阅读全文

posted @ 2013-12-18 10:11 软件部 阅读(870) 评论(0) 推荐(1)

关于使用MVVM模式在WPF的DataGrid控件中实现ComboBox编辑列
摘要:最近在做一个组态软件的项目,有一个需求需要在建立IO设备变量的时候选择变量的类型等。建立IO变量的界面是一个DataGrid实现的,可以一行一行的新建变量,如下如所示:这里需要使用带有ComboBox控件的列,如何实现呢?我首先想到的是使用DataGridComboBoxColumn来实现,可是在绑定数据的时候出现了问题,数据怎么也绑定不上。后来经过多方查证,发现原来DataGridComboBoxColumn对数据源有限制,只能是一下3中情况之一:1、静态资源。2、x:静态代码实体。3、ComboBoxItem类型的内联集合。基于扩展性、代码规范等情况考虑,这三种方案都被否决了。然后就想到使 阅读全文

posted @ 2013-12-12 18:14 软件部 阅读(2548) 评论(0) 推荐(0)

关于WPF中ItemsControl系列控件中Item不能继承父级的DataContext的解决办法
摘要:WPF中所有的集合类控件,子项都不能继承父级的DataContext,需要手动将绑定的数据源指向到父级控件才可以。 此文转载自:http://www.cnblogs.com/veboys/p/3246207.htmlAdded by Andy,2013/12/12 阅读全文

posted @ 2013-12-12 18:12 软件部 阅读(403) 评论(0) 推荐(0)

导航