我目前正在独自学习WPF和MVVM。

我有一个在XAML中使用创建的对话框

<Window.DataContext>
    <vm:PreferencesViewModel />
</Window.DataContext>

PreferencesViewModel()的构造函数调用我的PreferencesModel对象的LoadConfig()(加载XML文件)。我想做的是,当单击对话框的“确定”按钮时,从PreferencesViewModel调用PreferencesModel::SaveConfig(),但由于无法访问由<vm:PreferencesViewModel />自动创建的PreferencesViewModel对象,所以无法进行此操作。我会在析构函数中执行此操作,但GC不会销毁该对象。

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

最佳答案



给它起一个名字,并在后面的代码中访问它。

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

或将其从数据上下文中的代码中提取出来:
var myVM = (PreferencesViewModel) DataContext;

关于wpf - 如何知道何时完成DataContext?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31185454/

10-13 04:03