【发布时间】:2013-04-16 06:15:48
【问题描述】:
我有一个 WPF MMVM 应用程序,我们正在从 viewmodel 方法获取 xml 解析器异常。但问题是我不想从视图模型中显示异常。我想从视图显示消息(CustomMessageBox.Show() 从视图调用)
根据下面的代码,我从视图模型 catch 块中调用 CustomMessageBox.Show()。
如何从xaml.cs 或xaml 呼叫CustomMessageBox.Show()?
我们如何通知视图并调用CustomMessageBox.Showfrom视图?此代码 sn-p 在 WPF 命令中调用。
当前实现:
try
{
var xamlReader = XamlReader.Parse(xamlText);
var gb = modelTemplate.GetGraphicalObject("Icons");
var strings = new Dictionary<string, string> { { "Default", xamlText } };
gb.UpdateGraphicalObject(strings, null, null);
if (xamlReader != null)
{
var view = new Viewbox();
view.Child = (UIElement)xamlReader;
view.Stretch = Stretch.Uniform;
modelVM.Icon = view;
}
}
catch (XamlParseException)
{
CustomMessageBox.Show("Invalid XAML file specified.", Properties.Resources.NextGenSim, MessageBoxButton.OK, MessageBoxImage.Error);
//throw new XamlParseException("Invalid XAML file specified");
}
【问题讨论】:
-
@wizzardz 您的编辑没有添加任何实质性内容,帖子很好。你所做的只是搞砸了缩进。回滚。
-
也许您可以在抛出异常时在您的 ViewModel 中设置一个属性,并在您的 View 本身中绑定到该属性。
-
你的 MVVM 实现是否包含某种
Messenger类? -
我想从视图模型的视图调用 CustomMessageBox.Show。已实现自定义消息框 --> 自定义消息框:窗口。我如何通知 viewmodel wxception 来查看?我们没有实现任何 Messenger 类