我是MVVM和XAML的新手。目前我必须扩展的应用程序是某种imageviewer。它使用MVVM和RelayCommand。目前,我的XAML文件的代码隐藏文件几乎是空的。
显示数据时,数据绑定到视图模型,用户交互与命令绑定到模型。
但是现在我需要显示一个自定义控件的图像。在XAML中,我必须放置一个Border-Control,并且必须在代码隐藏文件中初始化控件。
我的问题是如何在关注MVVM时进行设置。
伪代码:
View{
initPDFControl(){
borderControl.DoMagic();
};
openImage(String path);
}
ViewModel{
openImage(){
getMyView.openImage(pathFromModel);
}
}
您可以通过将我链接到有用的教程或记下一些伪代码来帮助我。
答案 0 :(得分:3)
从您给出的示例看起来您不了解MVVM模式。视图(XAML)链接到viewmodel类。 viewModel应该不知道任何视图。但是视图知道它的viewModel。您应该在viewModel中编写命令,而不是在模型中编写。您必须从viewModel访问模型类。首先了解模式,然后继续编码。 Nuget中有许多MVVM库(例如MVVMLight,Prism),您可以在代码中使用它们。
您可以查看这些链接以了解这一概念。
Model-View-ViewModel-MVVM-Explained