ユーザーコントロールまたはウィンドウにコントロールとして配置すると、CheckBoxコントロールのisChecked
プロパティをプロパティに取得できます。bool
ただし、ツールバーに配置すると、左端または右端が薄い場合を除いて、表示されません(ただし、バインディングは機能します)。ContextMenuに入れると、チェックされているかチェックされていないかは問題なく表示されますが、バインディングターゲットは影響を受けません。
これは、Window.ResourcesのContextMenu定義です。
<ContextMenu x:Key="ContentMenu" DataContext="{Binding MyView}">
<CheckBox IsChecked="{Binding Path=IsRed}"/>
</ContextMenu>
これは、チェックボックスとチェックボックス付きのツールバーを含むStackPanelです。
<StackPanel Height="20" Orientation="Horizontal" DockPanel.Dock="Top" DataContext="{Binding MyView}">
<CheckBox IsChecked="{Binding Path=IsRed}"/>
<ToolBar Margin="10,0,0,0">
<CheckBox Width="18" Height="18" IsChecked="{Binding Path=IsRed}"/>
</ToolBar>
</StackPanel>
私は尋ねるだけです
1)誰かがツールバーの問題の解決策を提案できる場合(おそらく別のテンプレート?)、
2)コンテキストメニューのを定義する正しい方法DataContext
(これは実際の問題のようです)。