视图如何知道WPF MVVM中的viewmodel

时间:2014-08-09 19:28:44

标签: .net wpf mvvm

听起来可能很傻,但是请让我知道一个视图究竟知道它必须绑定哪个视图模型,因为我在示例视图的代码隐藏类中没有看到任何viewmodel的引用。

2 个答案:

答案 0 :(得分:1)

您将在页面和控件中找到名为DataContext的媒体资源。这就是绑定指向的内容。

答案 1 :(得分:-1)

以下是一个示例视图。由于DataTemplate标记上的DataType属性,View了解其ViewModel。在此示例中,有一个名为MyCompany.MyViewModels.dll的.NET程序集。有一个名为MyViewModel.cs的ViewModel。 MyViewModel.cs上有一个名为MyViewModelPropertyName的属性。

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:vm="clr-namespace:MyCompany.MyViewModels">

   <DataTemplate DataType="{x:Type vm:MyViewModel}">
       <TextBlock Text="{Binding MyViewModelPropertyName}" />
   </DataTemplate>

</ResourceDictionary>