如何在“按钮组”中仅选择“设置”按钮

时间:2015-02-13 05:31:54

标签: c# wpf

我有两个按钮,它们是图像中的暗示 enter image description here

我已将样式设置为

<Window.Resources>
    <Style x:Key="LinkButton" TargetType="Button">

        <Setter Property="Foreground" Value="Blue" />
        <Setter Property="Cursor" Value="Hand" />
        <Style.Triggers>

            <DataTrigger Binding="{Binding IsSelected, RelativeSource={RelativeSource AncestorType=DataGridRow}}"
             Value="True">
                <Setter Property="TextElement.Foreground" Value="White"/>
            </DataTrigger>
            <EventTrigger RoutedEvent="Click">
                <BeginStoryboard>
                    <Storyboard RepeatBehavior="100">
                        <DoubleAnimation Storyboard.TargetProperty="Opacity"  From="0.2" To="0.2" ></DoubleAnimation>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Style.Triggers>

    </Style>
</Window.Resources>

<Grid>
    <Button Height="50" Width="52" Content="123" Style="{DynamicResource LinkButton}" Margin="64,42,401,227"/>
    <Button Height="50" Width="52" Content="456" Style="{DynamicResource LinkButton}" Margin="137,42,328,227"/>


</Grid>

问题是,当我点击第一个按钮123按钮时,不透明度设置为0.2这是好的,但我想当我点击456然后123变为正常并且456的不透明度变为0.2我怎么能得到这个。

2 个答案:

答案 0 :(得分:2)

听起来你只想在按钮具有焦点时才改变不透明度。在这种情况下,您不希望使用基于Click事件的 EventTrigger 。相反,你想要使用类似......

的东西
   <Trigger Property="IsFocused" Value="True">
        <Setter Property="Visibility" 
                TargetName="border" 
                Value="Collapsed"/>
    </Trigger>

答案 1 :(得分:0)

我可能会添加一个btn点击处理程序,它会为点击此按钮设置一些变量,当您单击另一个按钮时,将不透明度重置为上一个按下按钮的1。