如何知道我们何时使用DataContext?

时间:2015-07-02 13:03:38

标签: wpf mvvm

我目前正在学习WPF和MVVM。

我有一个使用

在我的XAML中创建的对话框
<Window.DataContext>
    <vm:PreferencesViewModel />
</Window.DataContext>

PreferencesViewModel()的构造函数调用我的PreferencesModel对象的LoadConfig()(加载XML文件)。我想做的是在&#34; OK&#34;时从PreferencesViewModel调用PreferencesModel :: SaveConfig()。单击我的对话框的按钮但是我无法访问由<vm:PreferencesViewModel />自动创建的PreferencesViewModel对象。我在析构函数中执行此操作,但GC不会破坏对象。

有没有办法知道XAML何时完成了PreferencesViewModel对象?

1 个答案:

答案 0 :(得分:0)

  

...但我不能,因为我无法访问PreferencesViewModel ...

给它命名并在codebehind中访问它。

<vm:PreferencesViewModel x:Name="MyVM" />

或者从后面的代码中的datacontext中提取它:

var myVM = (PreferencesViewModel) DataContext;