[英]Issue with opening Child window from Main window using WPF with MVVM
我正在使用 MV-VM 学习 WPF。 我正在使用ICommand
, RelayCommand
。 我有几个视图、模型和视图模型。 MainWINdowView 在应用程序启动时打开。 MainWindowView 有一个按钮,可通过 MainWindowViewModel 打开另一个名为“FileListview”的 WPF window。 FileListView 有一个“View Lookup”按钮,它应该通过 FileListViewModel 打开另一个名为“LookupView”的 WPF window。 但除非我在 App.xaml.cs 中指定 FileListView 而不是 MainWIdowView,否则我无法使此按钮工作。 如果我让应用程序从“FileListView”开始,我无法理解为什么“查看查找”按钮会起作用。 我也不明白是否需要 model 用于 MainWindowView 和 FileListView,因为除了一个视图的按钮正在打开另一个视图之外,我什么都没有。 在文件“App.xaml.cs”后面的代码我有
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
WPFProject. MainWIndowView window = new MainWIndowView ();
MainWIndowViewModel VM = new MainWIndowViewModel ();
window.DataContext = VM;
window.Show();
}
}
如果有人能指出我使用 WPF 和 MV-VM 来反映我的问题的好文章或示例代码,我将不胜感激。
这是我将对话框/子 windows 与 mvvm 和 wpf 一起使用的方法。 请注意 sllev 的评论并发布所有相关代码。
在重新考虑这个问题后,我能够找出解决方案。 问题的原因:我没有将 View 与其 ViewModel class 关联。 所以我把下面的代码放在 FileListView.xaml.cs 后面的代码中。
public partial class FileListView: Window
{
private FileListViewModel _ fileListViewModel = new FileListViewModel ();
public FileListViewModel ()
{
InitializeComponent();
base.DataContext = _fileListViewModel;
}
}
谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.