我有这样的 View 模型:
public class ViewModel
{
public IView View { get; set; }
}
以及实现
IView
的 Window .我需要将这个确切的窗口绑定(bind)到
view
属性不变ViewModel
类(class)。这是否可能仅与该窗口的 XAML 相关?
我可以这样做:https://stackoverflow.com/a/47266732/3206223
但必须改变
ViewModel
在这种情况下这是不可取的。
最佳答案
您需要在 XAML 中实例化 ViewModel 并将其设置为 DataContext:
<Window x:Class="MyApp.AppWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MyApp.ViewModels">
<Window.DataContext>
<local:ViewModel/>
</Window.DataContext>
</Window>
编辑:
改变
window.DataContext = new ViewModel(properties);
window.ShowDialog();
到
var vm = new ViewModel(properties);
vm.View = window;
window.ShowDialog();
关于c# - 从 XAML 将 Window 对象绑定(bind)到 viewmodel 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51948016/