随笔分类 - 用MVVM模式开发中遇到的零散问题总结
摘要:在项目开发中经常会遇到这样一种情况,就是需要将用户填写的信息排版到一张表单中,供打印或存档。这里就以保存为图片为例,比如我需要实现下面的功能:将图片 根据用户信息保存为总体思路 1.建个UserControl将背景设置为表单图片。 2.在姓名的位置添加Textblock控件,将Text绑定到Name属性上。 3.动态加载UserControl,再将整个UserControl可视树转化为一张图片,保存。实现过程 关于怎么设置背景,和布局Textblock我就不多说了,相信大家都会。要注意的是,因为之后我要用XamlReader.Load()来动态加载XAML所以UserControl...
阅读全文
摘要:一直有个疑问,为什么silverlight对摄像头支持这么好,WPF却一个库都没有....于是我各种苦恼啊,各种CodeProject啊,终于让我找到海外兄弟写的源码了,原理是通过不断向摄像头读取图片不断刷新到窗体控件上。有Demo就直接封个控件呗,具体怎么实现的也忙不得管它了....功能还是十分不错呢。特别是它拍照后添加到列表里的动画效果十分不错哦~~核心就是这几个类了,由于原作者估计很喜欢MVVM所以通过各种Command来控制的,不能直接导航看着有点头昏。我就自己的风格封了个简单易懂的控件。新建一个工程,把这个文件夹添加进工程后,新建用户控件前台代码:xmlns:camPlayer=..
阅读全文
摘要:前言 最近接受了3个项目的洗礼,出差近3个月,各种北京、广州、昆明来回奔波,好久没写博客了,之前我觉得我遇到的问题都比较零散所以就一篇博客写一大堆,这样导致文章太长,而且不方便填写关键字,所以之后这个系列我就以单个问题的形式来描述,望广大博友多多赐教~~正文 我们知道在Binding的过程中是可以通过转换器来加工数据传输值的,我们当然希望ViewModel的代码越少越好,通用性越强越好,但是要如何才能做到万能呢??当然要借助强大的正则表达式了~~转换的过程我们可以看成是一个值的替换过程,如果能用上则表达式的替换功能,其参数可以在View里配置,这样同用性就很强了。例如我们需要处理以下3个问..
阅读全文
摘要:本节目录:1.解决动画属性被劫持问题2.设置页面焦点默认所在对象3.XAML模拟键盘按键4.DataGrid数据源绑定到复杂格式(dynamic类的运用)本系列文章快速导航:用MVVM模式开发中遇到的零散问题总结(1)1.解决动画属性被劫持问题 这个问题解决的方案比较多,这里我就说最适用的方法 案例如下:<Transform3DGroup> <RotateTransform3D> <RotateTransform3D.R...
阅读全文
摘要:关看这个标题略显业余,其中的任何一个问题都是困扰我几个小时才找到答案的,以供以后温故而知新,希望也能帮助到你本节碰到的问题如下:1.ViewModel动态切换内容XAML2.将一个字符串作为Xaml的resources供ViewModel调用3.将数据双向绑定到dictionary其中的一项上4.通过可视化树来修改动态创建的UserControl的模版(Template)内容5.让任何控件都可以绑定Command6.使用相对路径访问Application不认识的文件1.ViewModel动态切换内容XAMLstring url = "view/V" + Convert.To
阅读全文