gpt4 book ai didi

c# - 将 ContextMenu 项的 "IsEnabled"绑定(bind)到按钮

转载 作者:行者123 更新时间:2023-11-30 15:26:09 25 4
gpt4 key购买 nike

是否可以将按钮的 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/

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