一个WPF小项目总结
2010-10-07 10:23
288 查看
一个WPF小项目总结
这个小项目实际上是一个CHM文件的 浏览器,不过添加了一些附加功能,例如能记住,上一次用户浏览过的内容,能在Windows启动的时候自动启动,切换到的相应的主题等。
基本上左边显示文档的结构数,右边现实选中树结点对应的内容,有个CheckBox让用户选择是否在Windows启动的时候启动。
1.采用Model-View-ViewModel模式
参考文章 http://www.codeproject.com/KB/WPF/TreeViewWithViewModel.aspx
http://msdn.microsoft.com/en-us/magazine/dd419663.aspx
2.由于WPF的浏 览器控件,不是很好用(老是会有个提示安全问题),所以使用Winform的浏览器控件。
参考文章 http://nayyeri.net/host-windows-forms-controls-in-wpf
3.由于Winform浏览器控件不能直接和Url作数据绑定,所以使用DependencyProperty的回调
就是在View上定义注册一个DependencyProperty,并有相应的回调
在Template你的ViewModel的时候,将ViewModel的Url属性与该Dependency属性绑定就可以
这个小项目实际上是一个CHM文件的 浏览器,不过添加了一些附加功能,例如能记住,上一次用户浏览过的内容,能在Windows启动的时候自动启动,切换到的相应的主题等。
基本上左边显示文档的结构数,右边现实选中树结点对应的内容,有个CheckBox让用户选择是否在Windows启动的时候启动。
1.采用Model-View-ViewModel模式
参考文章 http://www.codeproject.com/KB/WPF/TreeViewWithViewModel.aspx
http://msdn.microsoft.com/en-us/magazine/dd419663.aspx
2.由于WPF的浏 览器控件,不是很好用(老是会有个提示安全问题),所以使用Winform的浏览器控件。
参考文章 http://nayyeri.net/host-windows-forms-controls-in-wpf
3.由于Winform浏览器控件不能直接和Url作数据绑定,所以使用DependencyProperty的回调
就是在View上定义注册一个DependencyProperty,并有相应的回调
public static readonly DependencyProperty DefaultUrlProperty = DependencyProperty.Register("DefaultUrl", typeof(string), typeof(CHMView), new FrameworkPropertyMetadata ( new PropertyChangedCallback(OnDefaulUrlChanged))); public string DefaultUrl { get { return (string)GetValue(DefaultUrlProperty); } set { SetValue(DefaultUrlProperty, value); } } |
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:vm="clr-namespace:XXXXXX"> <DataTemplate DataType="{x:Type vm:CHMViewModel}"> <vm:CHMView DefaultUrl="{Binding DefaultUrl}"/> </DataTemplate> </ResourceDictionary> |
相关文章推荐
- 【WPF】一个工具类项目的要点总结
- wpf+access 一个小项目的总结
- 团队开发经验:如何带领一个项目团队并做好项目总结 !!
- 做完一个网站重构项目的总结以及感想!
- 今天做一个winform,想直接把窗体改成输出类库,其他地方直接调结果总提示不能注册组件,回来调度,可以,总结,windows还是直接用新建的类型项目,改容易出错
- 项目管理心得:一个项目经理的个人体会、经验总结 .
- 同一个项目的不同的项目工作经验总结--设计文档编写经验总结
- [转]项目管理心得:一个项目经理的个人体会、经验总结
- 项目管理心得:一个项目经理的个人体会、经验总结(转)
- 对近期使用Nhibernate开发的一个项目的一些总结(一)
- 综合应用WPF/WCF/WF/LINQ之三十四:在XBAP项目中模拟弹出一个自定义的“模态窗口”
- 课堂练习之结对开发项目思想总结:返回一个整数数组中最大子数组的和
- 如何带领一个项目团队并做好项目总结
- 这几刚干完一个简单的项目,总结一下。本人是新手 第一次做项目,老手就不用看了
- 一个上架了的React Native项目实战总结
- 近期做项目对ContentPrivoder的使用进行一个总结
- 同一个项目的不同的项目工作经验总结--程序员丁
- 团队开发经验:如何带领一个项目团队并做好项目总结
- 近期的一个项目的错误总结
- 做完一个网站重构项目的总结以及感想!