.net 在学习WPF时,你发现什么最难理解
你吃了什么WPF.net 在学习WPF时,你发现什么最难理解,.net,wpf,.net,Wpf,你吃了什么WPF 难以理解 或者被误解了很长时间 和您最后是如何理解的(请提供链接等) (我问这个问题是为了指导我学习WPF)依赖属性花了一段时间。这里有一个,它帮助我实现了这个新概念 第二篇文章包含了下面的一段,它确实澄清了我的几个问题 依赖项的键值 系统的性能是 生成自动生成的属性 通知任何已登记的利害关系方 每一次,财产的价值 变化。这是免费的、无痛的、安全的 自动执行 观察者模式非常复杂 功能强大,大大降低了成本 客户端程序员的负担(在 事实上,数据绑定系统取决于 在上面!) 更一般
- 难以理解
- 或者被误解了很长时间
(我问这个问题是为了指导我学习WPF)依赖属性花了一段时间。这里有一个,它帮助我实现了这个新概念 第二篇文章包含了下面的一段,它确实澄清了我的几个问题 依赖项的键值 系统的性能是 生成自动生成的属性 通知任何已登记的利害关系方 每一次,财产的价值 变化。这是免费的、无痛的、安全的 自动执行 观察者模式非常复杂 功能强大,大大降低了成本 客户端程序员的负担(在 事实上,数据绑定系统取决于 在上面!) 更一般地说,我还发现以前的web开发经验(特别是浏览器UI)对于“获取”WPF非常有用。与只使用过Windows窗体或其他富客户机应用程序的人相比,它更多地是关于它允许您将思维方式带入WPF的
web世界中一些更明显的相似之处是CSS、流畅的布局、jQuery动画、事件冒泡/路由以及对广泛的浏览器和DHTML对象模型的适应;i、 e.何时使用绑定以及何时使用StaticResource/DynamicSource。当我第一次学习WPF时,我总是把这两个概念混淆起来
DP和附加属性的不同形式起初也很难理解。WPF不是WinForms。在WinForms中完成任务所使用的大多数(如果不是全部)常用策略在WPF中是错误的(或效率最低的)。如果您采用WinForms的思维方式,那么命令、依赖属性、绑定、模板等都将变得不那么有用 目前,我们正在开发一个大型可视化应用程序。作为经验丰富的WinForms程序员,我们的第一个切入点是多维数据的显示,预先计算了数千个可视元素。滑块将使用回调遍历可视元素的维度。除了初始设置之外,不会加载任何数据。这是非常糟糕的表现 使用数据转换器切换到数千个绑定,仅在几百个可视元素上,动态加载和重新计算数据。这导致了性能的一个数量级的改进。几乎无法想象数千个绑定会比数千个预先计算的可视元素更快,但WPF就是这样 “”可能很有用。(并控制模板) 表面上看,这相当简单,但一旦开始尝试在不同的XAML文件之间设置绑定,就会变得非常混乱
我想,通过阅读大量的MSDN文档,我最终能够很好地理解它,但更重要的是,尝试和错误。玩弄东西通常是学习任何技术的最佳方式。我想说,当我开始学习WPF时,最难的一点是:
- 样式和模板:我花了一段时间才理解何时使用它们,以及它们如何相互作用
- 与
的复杂绑定,转换器相对资源
- 触发器:有时我仍然会对应该在哪里使用
s、DataTrigger
s或Trigger
s感到困惑EventTrigger
- 依赖属性和附加属性的机制
- 路由事件的工作方式
<DoubleAnimation
Storyboard.TargetProperty=
"(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)"
To="1.2" Duration="0:0:.2" />
通读书籍并理解内容是一回事,将它们应用到项目中则是另一回事。我创建了一个相对简单的联系人列表控件,就像在Outlook中一样,并且遇到了许多小但明显的学习曲线
DataTrigger
(谁会想到)ItemsPanel
突然成为一个挑战,因为它没有安排项目(您必须使用它)相对资源
- 逻辑树和可视树(链接:) 了解WPF中的不同树。特别是,了解