"IsChecked"のバインディングの書き方は? 2つのメニューのどちらかをチェックしたいと思います。WPF ContextMenu IsCheckedバインディング
「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 !
}
}
がスコープ外にこれは...私はそれを使用することはできませんか?しかし、なぜ ?
それは働きます!ありがとうございました ! :) –