[英]Open ContextMenu on ToggleButton when IsChecked property changed state to True
當IsChecked設置為true時,我想打開ToggleButton.ContextMenu。
我在下面編寫代碼,但是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>
希望這會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.