mean in WPF? 是什么意思-6ren"> mean in WPF? 是什么意思-我是 WPF 和 MVVM 的新手,实际上是在一周前开始的,我正在尝试使用 WPF 和 MVVM 编写应用程序,在编写示例时我遇到了以下语句 我正在尝试对此进行推理。我了解“x:”指的是什么,它是 X-6ren">
gpt4 book ai didi

wpf - mean in WPF? 是什么意思

转载 作者:行者123 更新时间:2023-12-03 10:53:25 25 4
gpt4 key购买 nike

我是 WPF 和 MVVM 的新手,实际上是在一周前开始的,我正在尝试使用 WPF 和 MVVM 编写应用程序,在编写示例时我遇到了以下语句 <vm:SimpleViewModel x:Key="viewModel"/>我正在尝试对此进行推理。我了解“x:”指的是什么,它是 XAML 文件中提到的默认 XAML 命名空间,我已经为我自己的 ViewModel 类创建了一个命名空间,UI 将与之交互,我给它一个别名“vm”和 SimpleViewModel是我的应用程序的 ViewModel,仅供引用的声明是 xmlns:vm="clr-namespace:MVVM_Tutorial" .

我对声明的推理<vm:SimpleViewModel x:Key="viewModel"/>是一个 Window 是一个 XAML 元素,并且有一个资源字典,它引用解析和引用某些元素,因此在它的资源字典中定义在“x:”命名空间中,我们分配了一个名为“Key”的变量,其值是“vm:”命名空间中定义的 SimpleViewModel 类。只是想知道我的推理是否正确,或者是否有一些我遗漏的东西,并且想知道从这里进一步进行。

最佳答案

XAML 只是描述对象图的标记。代码也是描述对象图的标记。我可以这样说

var window = new Window();
window.DataContext = new MyNamespace.MyViewModel();

或者我可以像这样写完全相同的东西
<Window xmlns:blahblah="clr-namespace:Normal.Xmlns.Deleted.For.Brevity"
xmlns:this="clr-namespace:MyNamespace">
<Window.DataContext>
<this:MyViewModel />
<!-- snip -->

任何可以在代码中实例化的对象都可以在 xaml 中使用 .有一些限制(例如,没有参数的默认公共(public)构造函数),但在大多数情况下这是正确的。 XAML 只是定义了一个在运行时反序列化的对象图。

由于可以在 xaml 中引用任何类型,因此假设您可以移动 MyViewModel 的实例。到资源字典并通过静态资源或动态资源引用它。请注意,您放入资源字典中的任何内容都必须有一个键,通过 x:Key 分配:
<Window xmlns:blahblah="clr-namespace:Normal.Xmlns.Deleted.For.Brevity"
xmlns:this="clr-namespace:MyNamespace"
DataContext="{DynamicResource lolderp}">
<Window.Resources>
<this:MyViewModel x:Key="lolderp" />
<!-- snip -->

XAML 是 XML 的子集,并使用 XML 命名空间映射到当前或其他程序集中的代码命名空间。这就是框架如何知道 MyViewModel 指的是什么对象。要了解更多信息, read this link on msdn .

关于wpf - <vm :SimpleViewModel x:Key ="viewModel"/> mean in WPF? 是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29545218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com