是否可以将按钮的 IsEnabled
属性绑定(bind)到由 NotifyIcon 表示的上下文菜单项?
当我按下菜单项时,它会启动一个禁用我的 btnSave
的方法。在那种情况下,我也想“关闭” MenuItem。我尝试过这种方式,但它不起作用:
<Window.Resources>
<ContextMenu x:Key="NotifierContextMenu" Placement="MousePoint">
<MenuItem Header="Start" Click="start_timer" IsEnabled="{Binding ElementName=btnSave, Path=IsEnabled}"/>
</ContextMenu>
</Window.Resources>
最佳答案
我相信您的问题源于可视化树中不存在的 ContextMenu
,因此 ElementName
绑定(bind)将失败,除非您采取一些额外的步骤来更正名称范围,或将 DataContext
解析为可视化树。
大多数技术都在这个答案中相当全面地涵盖了:ElementName Binding from MenuItem in ContextMenu .
我过去曾成功地通过引用绑定(bind)到命名元素,在您的情况下,它看起来像这样:
<MenuItem Header="Start"
IsEnabled="{Binding IsEnabled, Source={x:Reference btnSave}}"
Click="btnSave_Click"/>
关于c# - 将 ContextMenu 项的 "IsEnabled"绑定(bind)到按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30013886/