我目前正在独自学习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/