在WPF应用程序中,所有视图都从System.Windows.Window继承,并具有关联的xaml和codebehind文件.这看似合乎逻辑.
但是我很困惑,为什么继承自System.Windows.Application的App文件有一个xaml文件?虽然它是一个应用程序而不是一个视图(它是不可见的)?我知道这个文件通常用于定义应用程序资源等,而xaml提供了一种定义它们的有效方法.但这也可以以编程方式完成.那么wpf的设计者通过同时拥有"App"的xaml和代码文件来实现什么好处呢?他们中的一个人不够他们吗?
但是我很困惑,为什么继承自System.Windows.Application的App文件有一个xaml文件?虽然它是一个应用程序而不是一个视图(它是不可见的)?
请记住,XAML不是一种UI语言,而是一种通用的声明性语言.虽然它主要用于表示WPF或SilverLigth的UI,但它也用于声明其他非UI技术中的对象图.
我想到的第一个例子是工作流(XOML是XAML的衍生物),SharePoint也在一些隐藏的部分使用XAML,我在一个客户项目中看到过使用XAML作为元语言来生成web-apps(是的,它实际上输出HTML).
然后,为了回答你的问题,应用程序有两个文件(实际上并不是一个要求),因为你可以: