学习 WPF 没有成功

本文关键字:成功 WPF 学习 | 更新日期: 2023-09-27 17:56:53

各位开发人员和设计师,

我非常愿意学习使用 C# 作为逻辑代码的 WPF。或者我无论如何都"尝试"。

不过,我已经以表单风格编写了 2 页长的代码隐藏,所以我知道一些语法。但这是一种非常繁琐的方法。

问题是我仍然徘徊在理解面向对象编程的基本概念的领域。但是 10 次中有 9 次我没有完全得到示例代码,因为"1 件我什至不知道它叫什么的小东西"。你怎么知道是否有你想要表达的功能的命令,更重要的是......它是如何调用的以及它在哪个命名空间中的位置?

即使是最好的视频示例也不适合我,因为当键入任何代码时,它们永远不会解释代码的确切工作原理。大多数时候,它甚至没有达到我对逻辑代码的了解(当然我错了)。

在早期,我学会了Commodore64的Basic没问题。学习和编写动作脚本(Flash),在2个月内创建2D射击游戏学习和编写CMD,在3个月内为各种功能编写5000+行代码。

为什么梅林的胡子里WPF这么硬?观看"最简单"的教程视频变得越来越没有动力。

有人认得这一点吗?

感谢您的阅读,Danny

学习 WPF 没有成功

关于 WPF,我发现最有用的文章是 MSDN 上的概述,它们可能需要相当长的时间才能完成,但它们简洁而深入,请参阅此页面以获取主概述。

为什么WPF很难是一个很好的问题,一个主要原因可能是它只是巨大的,至少我是这样认为的。除了拥有所有代码之外,您现在还拥有 XAML 标记,这是一个独立的世界。

2008年,Microsoft有人在F#上做过演讲,他说,如果你知道三个关键词,letfun|>,你就知道整个语言,这甚至没有那么夸张。另一方面,WPF 不是一种语言,而是一种子框架。如果 F# 可以比作 3 个纳米技术构建块,那么 WPF 就是一个 50 米长的工作台,上面堆满了工具(控件)和十几台重型机器(WPF 机制,如依赖项属性、数据绑定、命令、数据模板等),所有这些都附带手册。因此,如果您遇到问题,您几乎需要知道所有工具和机器的作用,以便您知道要使用哪个,然后当然您还需要知道如何使用它们,除了它们的基本功能之外,每个甚至可能都有自己的扭结和特点,重要的是要记住。

因此,学习 WPF 需要大量的框架原始知识,还需要经验,以便您知道在特定情况下什么是最佳方法,并了解可以做什么和不能做什么。

MVVM: http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

学习它然后使用它。

我想

我会添加我的 $.02,因为我最近开始使用 WPF。 首先,您需要阅读 Fëanor 提到的 MVVM 文章,亲爱的上帝,下载示例代码并了解该程序中的每一行的作用! 阅读文章很棒,但查看代码、运行代码、更改代码等都是非常宝贵的。 我还回应了有关 MSDN 概述的评论,以及关于创建副项目而不是通过现有项目学习 WPF 的评论。

除此之外,不要指望在一天甚至一周内获得WPF。 我已经使用它大约一个月了,我还有很长的路要走。 大约一周前,我有过"啊哈!"的时刻,一切都开始点击,对我来说很明显我不知道哪个是重要的。 一个好的策略是选择一个概念,如数据绑定、数据模板或样式,并深入探索每个概念。 有很多东西要咀嚼,所以请记住,罗马不是一天建成的。 如果你还不熟悉数据绑定,我会尽早选择它,因为它非常关键。

最后,一旦你学会了WPF,就很难回到使用Windows窗体:)

玩得愉快!问

我不认为WPF实际上那么难。我认为只是WPF肯定需要稍微不同的思维方式。你可以说它是在考虑某些原则的情况下构建的(比如MVVM,正如另一张海报提到的),它与大多数其他框架非常不同。如果你尝试像你做Windows窗体或MFC或 ASP.NET 或其他任何东西那样做它......你会挣扎的。你需要愿意改变你对事情运作方式的看法。

坦率地说,我认为学习它的唯一方法是通过实验。想出一些使用WPF的副项目并尝试一下。学习一点并重构它。买一本好书,阅读WPF门徒名单,阅读Sacha Barber写的任何内容,阅读SO上的WPF部分。

当你第一次"啊哈!"时刻,你决定写一个附加属性来解决你遇到的一些晦涩的问题,你会知道你终于理解了它:)