DataContext首先设置为Initializing Window Component

时间:2018-04-10 19:29:26

标签: c# wpf c#-4.0 mvvm prism-4

我一定是在我的项目中忽略了这一段时间,但今天在审查xaml.cs时有些事情引起了我的注意。我观察到了

  1. My View的构造函数通过ViewModel对象注入,该对象实现了ViewModel的接口。
  2. 构造函数的第一行将View的DataContext设置为通过构造函数传递的对象
  3. 之后调用InitializeComponent

    现在这令人困惑,

    1. 在设置视图之前,您不想初始化组件 DataContext的?
    2. 为什么它的功能正常?
    3. 可视化的代码片段可以是;

      [Export]
      [PartCreationPolicy(CreationPolicy.NonShared)]
      public partial class V_AllSettings : CCSUserControl
      {
          [ImportingConstructor]
          public V_AllSettings(IVM_AllSettings viewModel)
          {
              this.DataContext = viewModel;
              InitializeComponent();
          }
      }
      

      注意在初始化组件之前设置了DataContext。

0 个答案:

没有答案