【发布时间】:2017-07-03 06:31:06
【问题描述】:
如何为“IsChecked”编写绑定? 我想检查 2 个菜单中的任何一个。
如果我点击“Hello1”,我想在“Hello1”上添加检查, 并删除“Hello2”的检查。
如果我点击“Hello2”,我想在“Hello2”上添加检查, 并删除“Hello1”的检查。
我尝试了 1 周。但是我不能。请帮我“如何编写绑定” 没有互联网的例子。 我最近开始 WPF 编程。我只能做表格申请。 这是非常不同的......
<Window x:Class="WpfApp2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp2"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<ContextMenu Name="ContextMenuMain" x:Key="menuListBox">
<MenuItem Header="Hello1" IsChecked="{Binding Path=IsCheck1, Mode=OneWay}" Name="ContextMenu_Hello1" Click="ContextMenuClick_Hello1"/>
<MenuItem Header="Hello2" IsChecked="{Binding Path=IsCheck2, Mode=OneWay}" Name="ContextMenu_Hello2" Click="ContextMenuClick_Hello2"/>
</ContextMenu>
</Window.Resources>
</Window>
我最困难的一点是下面的代码。 我尝试在 MainWindow 中使用“ContextMenu_Hello1”的名称。 但是 C# 不允许我使用它...
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
ContextMenu_Hello1.DataContext // error !
}
}
这超出范围了吗?但是为什么?
【问题讨论】:
标签: wpf binding contextmenu