[英]Open ContextMenu on ToggleButton when IsChecked property changed state to True
I want open ToggleButton.ContextMenu when IsChecked is set true. 当IsChecked设置为true时,我想打开ToggleButton.ContextMenu。
I write code below, however ContextMenu.IsOpen is not changed: 我在下面编写代码,但是ContextMenu.IsOpen不变:
<ToggleButton x:Name="btnRegularButton"
Content="Regular Button">
<ToggleButton.Style>
<Style TargetType="ToggleButton">
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="ContextMenu.IsOpen" Value="True" />
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
<ToggleButton.ContextMenu>
<ContextMenu>
<MenuItem Header="Save" />
<MenuItem Header="Print" />
<Separator />
<MenuItem Header="Exit" />
</ContextMenu>
</ToggleButton.ContextMenu>
</ToggleButton>
<Window x:Class="Staticoverflow.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<ContextMenu x:Key="ContextMenu1">
<MenuItem Header="Save" />
<MenuItem Header="Print" />
<Separator />
<MenuItem Header="Exit" />
</ContextMenu>
</Window.Resources>
<Grid>
<Grid.RowDefinitions >
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<ToggleButton x:Name="btnRegularButton"
Content="Regular Button">
<ToggleButton.Style>
<Style TargetType="ToggleButton">
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="ContextMenu" Value="{StaticResource ContextMenu1}" />
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
</Grid>
Hope this will help. 希望这会有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.