繁体   English   中英

当IsChecked属性更改为True时,在ToggleButton上打开ContextMenu

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM