c# - WPF MVVM - 在 "parent" View 模型中调用方法的正确方法

标签 c# wpf mvvm

我正在 WPF-MVVM 中开发一个项目,其中有一个主窗口,其中包含一个带有两个选项卡的选项卡控件。每个选项卡上都有一个按钮。

在这个项目中,有 3 种不同的 View 模型,一种用于主窗口,另一种用于每个选项卡。当按下其中一个按钮时,我希望“父” View 模型(主窗口的 View 模型)执行一些操作,例如关闭应用程序。

让选项卡的 View 模型请求主视图模型执行此操作的正确方法是什么?

Screenshot of Application

Code on Pastebin

注意:我没有使用任何类型的框架,例如 MVVM Light 或 Prism。

最佳答案

您可以使用这样的相对绑定(bind)来访问父 DataContext:

Binding="{Binding RelativeSource={RelativeSource FindAncestor, 
    AncestorType={x:Type Window}}, Path=DataContext.AllowItemCommand}"

关于c# - WPF MVVM - 在 "parent" View 模型中调用方法的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34911711/

相关文章:

c# - 如何在 C# 中使用 ZedGraph 从 X 轴上的 PointPair 获取日期时间?

c# - 使用 asp.net core 2.1 下载角度 8 的文件总是给出损坏的文件

c# - 如何保证延续按任务完成顺序运行?

c# - 在 MVVMCross 中查看一个已经实例化的 ViewModel

javascript - Kendo MVVM 中的多个 ViewModel

c# - 使用 Roslyn 创建 Func<>

c# - 以 MVVM 方式导出 DataGrid

c# - 无法在 WPF 项目 .net core 3.0 中添加 appsettings.json

C# WPF MVVM Caliburm-micro 动态绑定(bind) `GradientStops`

c# - 使用 View 模型的依赖属性来更改矩形的填充