Biz*_*pps 7 c# wpf visual-studio-2008 winforms
我们的团队在Winforms和ASP.net项目上工作经验丰富.
正如程序员堆栈交换中的其他程序员一样,建议我为我们团队的下一个项目跳转到WPF,而不是将WinForms用于基于客户端的业务应用程序.
现在我开始使用WPF开发我的第一个项目,这对我来说有点棘手,因为它是我第一次尝试使用它.
您能否提供更深入的信息,为什么我们需要跳转到WPF而不是使用winforms?
我需要说服我们的经理,我们可以为我们基于客户的项目挖掘WPF.
我们正在使用VS 2008.
选择一个好的MVVM框架.我个人使用Microsoft Prism.对于其他替代方案,请查看此StackOverflow问题.
路由事件仅适用于视图.例如,如果要在文本更改时滚动到多行文本框的末尾.
命令用于绑定逻辑驻留在视图模型(业务逻辑)上的事件...例如,提交按钮.
如果您的团队中有设计师,请让他们开始使用Expression Blend并了解样式/布局.Expression Blend允许您使用示例数据查看应用程序布局,而无需一直运行它.
了解如何ItemsControl工作.有之间的差异SelectedItem,SelectedValue以及SelectedValuePath.
在线查看很多exmaples.Wpf博士,WPFTutorial.net,Josh Smith,WPF等
如果您计划利用代码UI测试(以测试实际的用户界面),那么请确保命名控件(大多数MVVM教程告诉您不必为任何控件命名).如果您不打算进行Coded UI测试,则不要为控件命名,除非您需要从视图本身引用它们.
IValueConverter并且IMultiValueConverter只应用于将属性转换为与视图相关的项目.最常用的转换器是BooleanToVisiblity转换器.
TargetNullValue,FallbackValue和StringFormat使用绑定时很重要.不要假设绑定的数据始终可用且正确.
您几乎总是暴露ObservableCollection<T>或ReadOnlyObservableCollection<T>从您的视图模型.您很少会返回任何其他类型的集合,包括IEnumerable<T>.
在选择小心你的BindingMode:OneWay,OneTime,TwoWay,OneWayToSource(警告:OneWayToSource是棘手的...它仍然需要一个getter,因为它不是一个只写结合).
一个免费的好调试工具是Snoop.它类似于运行WPF应用程序的DOM资源管理器.更高级(而非免费)的工具更强大的是Mole.
这就是我现在所能想到的......哦,如果你碰到了路障,StackOverflow就是你的朋友:)
| 归档时间: |
|
| 查看次数: |
3294 次 |
| 最近记录: |