首页 > 解决方案 > WPF - 从模式绑定到 MainViewModel 属性

问题描述

很容易从按钮绑定到 MainViewModel (MVM) 中的属性以操作它是否启用:

<Button IsEnabled="{Binding Path=IsUSBInserted}"/>

但是,我有一个模式弹出(新窗口)。我希望弹出窗口中的按钮也由 MVM 中的 IsUSBInserted 属性控制。这可能吗?

这是我在概念上尝试做的事情(在弹出的 XAML 中):1)是否可能 2)如果是这样,什么是正确的语法,因为这似乎不起作用。谢谢你。

<Window xmlns:mainViewModel="clr-namespace:Acme.MainApp.ViewModel">

<Button IsEnabled="{Binding Path=mainViewModel.IsUSBInserted}"/>

标签: wpfdata-binding

解决方案


我希望弹出窗口中的按钮由 MVM 中的 IsUSBInserted 属性控制

有两种方法可以做到这一点,

  1. 将视图模型提供到弹出窗口的数据上下文中,然后绑定到相关属性。
  2. 在弹出窗口上创建一个依赖属性,将绑定到 VM 的属性以允许这种链接。

推荐阅读