C# 或 XAML 与 WPF

C# or XAML With WPF

我即将踏上 WPF 的学习之路。我想通过首先学习正确的技能来确保我的开始是我打算继续的。

我发现对 WPF 的引用与 C# 和 XAML 一起使用。我想知道,在工作环境中,您使用哪个来开发 WPF 应用程序?

XAML 是一种标记语言。当您为 C# 应用程序编写 XAML 时,它只是实例化 C# 对象。所以,无论哪种方式,您实际上都是在编写 C#。

XAML本质上是一种声明式的代码编写方式。这对于应用程序的用户界面(通常称为视图)来说非常常见。

在我看来,WPF 应用程序的视图几乎应该总是在 XAML 中。任何不是 UI 的东西(例如业务逻辑或模型)都不应该写在 XAML 中。这是 MVVM 模式的标准,它在 WPF 开发中非常流行。

简短的回答是您需要 XAML 和 C# 的另一种编程语言,如 VB.NET 来创建 WPF 应用程序。

在学习过程的最开始,您可以只学习 XAML。无论如何,这实际上是个好主意。了解如何使用依赖属性、附加属性、布局,而无需首先编写一行代码。

接下来您可以编写一些事件处理程序,但我不会花太多时间编写直接附加到 XAML windows 的过于复杂的代码,因为 MVVM 让您的生活更轻松.

对于 MVVM,我建议使用框架,例如 Laurent Bugnon 的 MVVM light,他还写了一些优秀的书籍,不过是 silverlight,其中描述了 MVVM。

https://mvvmlight.codeplex.com/

正如我的旁注,我应该补充一点,可以完全使用代码创建您的 GUI,而无需 XAML。但我认为这是一个特例。 WPF 的想法实际上是使用声明性 XAML 将 GUI 与编码的应用程序的其余部分分开。作为初学者,如果没有 XAML,我不会走上编写 GUI 的道路。

另一个旁注是 XAML 也用于使用 WF 以声明方式创建工作流。所以 XAML 不单独用于 GUI。