UWP xaml逻辑:

UWP xaml逻辑:,xaml,uwp,uwp-xaml,Xaml,Uwp,Uwp Xaml,有人能给我解释一下App.xaml中的代码是做什么的吗,特别是逻辑:AppDataModel部分。AppDataModel是项目中的类 <Application.Resources> <logic:AppDataModel x:Key="TheViewModel" /> <x:String x:Key="AppName">Master app</x:String>

有人能给我解释一下App.xaml中的代码是做什么的吗,特别是逻辑:AppDataModel部分。AppDataModel是项目中的类

<Application.Resources>

        <logic:AppDataModel
            x:Key="TheViewModel" />

        <x:String
            x:Key="AppName">Master app</x:String>

</Application.Resources>

主应用程序

解析此标记时,会在
应用程序.Resources
字典中创建两个条目。它们键
“视图模型”
绑定到
AppDataModel
的新实例,键
“AppName”
绑定到初始化为
“Mater app”
字符串

除了您的问题之外,您在XAML中这样做的原因是将UI代码和一些实例数据放在一起(松散地说)。最大的例子是希望您的UI始终有一个绑定到的特定视图模型。这是可以实现的,正如我从您发布的标记中所假设的,就像您正在做的那样。在给定控件、窗口或应用程序的资源中创建视图模型对象,然后使用
{StaticResource TheViewModel}
对其进行分配,这样可以避免代码落后或视图模型与绑定代码混淆


希望这有帮助

这些xaml行将项目添加到当前应用程序的资源字典中:

Application.Current.Resources["TheViewModel"] = new logic.AppDataModel();
Application.Current.Resources["AppName"] = "Master app";

它正在创建
AppDataModel
String
as的实例。它们将在其他地方使用,由它们的键引用。这里没有逻辑,只是创建对象。