WPF中的XAML是否等同于Windows Forms应用程序中的.Designer.cs?

时间:2009-08-05 16:35:54

标签: c# .net wpf winforms xaml

WPF中的XAML是否等同于Windows窗体应用程序中的.Designer.cs?

它是否仅为UI提供编译时状态?

我不确定,但看起来您可以在运行时使用XAML以编程方式执行操作。

如果我有一个基本的UI状态,在运行时添加所有内容,那么我应该在XAML之外查看吗?

2 个答案:

答案 0 :(得分:5)

以这种方式看待XAML可能是安全的 - 虽然它并不完全准确。 XAML被编译成BAML,并在运行时进行解析 - 其中Windows Forms designer.cs文件只是设计者构建的另一个C#文件。 XAML永远不会直接翻译成C#。

但是,您可以通过代码在XAML中完成所有操作。 Charles Petzold的WPF book实际上采用了这种方法。它在引入XAML之前就在代码中构建了整个WPF应用程序。

答案 1 :(得分:0)

除了里德的意见,我还应该提到:

  • XAML使用XML语法定义UI,但Form不使用。
  • 在XAML中,通过使用代码隐藏设计将UI与逻辑分离起来要容易得多。由于UI只是XML,因此它们可以完全独立于任何代码隐藏更改而设计。
  • 像Button这样的微小更改,您可以在其中设置内容而不是文本,因此您可以设置任何内容,而它可以只是文本。
  • 数据绑定和依赖属性在WPF comapring到Windows.Form
  • 中更容易和更好
  • 处理您的设计的非常简单和酷的方式,因为您可以发现网上有很多很酷的例子。
  • 您可以使用Snoop等工具来显示3D设计,并可以通过选择UI来检查和验证所有控件和事件。您可以查看处理的事件与否。这是一个非常酷的工具,您可以找到类似的工具。