gpt4 book ai didi

wpf - 具有MVVM模式的模态窗口

转载 作者:行者123 更新时间:2023-12-03 10:50:39 24 4
gpt4 key购买 nike

我试图使模式对话框窗口,让用户知道一些错误消息,或让用户编辑一些值。
我正在使用MVVM模式,因此我的主窗口包含一些控制部分和工作区部分。在工作空间部分中,我将使用datatemplate紧密打开 View 模型(定义为用户控件)。从这些 View 之一,我想打开模式对话框窗口。我正在关注这个答案Error window show modal in MVVM WPF。如该答案所述,我已经在InvoiceViewModel中实现了DialogClass。但是我对显示模态窗口的内容有疑问。如果将窗口的内容设置为ViewModel类,则输出是带有该ViewModel命名空间路径的简单文本。 (将ViewModel附加到带有datatemplate的View上。)如果我将内容设置为View-它正在工作-显示了View,但是我不遵守MVVM模式(从ViewModel打开View时,因为ViewModel没有对View的引用)。

        ErrorViewModel newErrorViewModel = new ErrorViewModel();
ErrorView newErrorView = new ErrorView();
DialogWindow dialogWindow = new DialogWindow();
//Not Working
//dialogWindow.Content = newErrorViewModel;

//Working But, breaking MVVM
dialogWindow.Content = newErrorView;
dialogWindow.ShowDialog();

在ErrorView.xaml中,我已附加了这样的ErrorViewModel。
<DataTemplate DataType="{x:Type vm:ErrorViewModel}">
<vw:ErrorView/>
</DataTemplate>

我究竟做错了什么?

谢谢。

最佳答案

您正在将newErrorView分配给对话框的内容,而不是newErrorViewModel

关于wpf - 具有MVVM模式的模态窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4491129/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com