【问题标题】:Style a WPF Button on right mouse click在鼠标右键单击时设置 WPF 按钮样式
【发布时间】:2009-10-22 14:47:20
【问题描述】:

是否可以在 WPF 中将样式触发器添加到 Button 以确定 ContextMenu 是否已打开?

如果是这样,如果上下文菜单打开,我想为相应按钮的背景着色。

找不到常规的方法...

【问题讨论】:

    标签: wpf button styles


    【解决方案1】:

    这里有一个解决方案:

    <Grid ShowGridLines="True">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>
        <Button Grid.Column="1" Margin="5" Content="Button" x:Name="theButton">
            <Button.Background>
                <SolidColorBrush x:Name="BackgroundBrush" Color="LightGray" />
            </Button.Background>
            <Button.ContextMenu>
                <ContextMenu x:Name="contextMenu">
                    <MenuItem Header="Option 1" />
                    <MenuItem Header="Option 2" />
                </ContextMenu>
            </Button.ContextMenu>
            <Button.Triggers>
                <!-- This changed the color to red when the context menu is openning -->
                <EventTrigger RoutedEvent="Button.ContextMenuOpening">
                    <BeginStoryboard>
                        <Storyboard>
                            <ColorAnimation Storyboard.TargetName="BackgroundBrush"
                                            Storyboard.TargetProperty="Color" Duration="0:0:0" To="Red" />
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
                <!-- This changed the color back to light gray when the context menu is closing -->
                <EventTrigger RoutedEvent="Button.ContextMenuClosing">
                    <BeginStoryboard>
                        <Storyboard>
                            <ColorAnimation Storyboard.TargetName="BackgroundBrush"
                                            Storyboard.TargetProperty="Color" Duration="0:0:0" To="LightGray" />
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </Button.Triggers>
        </Button>
    </Grid>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-14
      • 1970-01-01
      • 1970-01-01
      • 2020-04-28
      • 1970-01-01
      • 2016-11-28
      相关资源
      最近更新 更多