单击按钮后更改按钮的效果WPF

Bik*_*mbu 5 c# wpf xaml

Button按下时,我想应用以下更改。

<Button>
    <Button.Effect>
        <DropShadowEffect BlurRadius="10" ShadowDepth="5"/>
    </Button.Effect>
</Button>
Run Code Online (Sandbox Code Playgroud)

mm8*_*mm8 5

如何处理的Click事件Button呢?

<Button Content="Click me!" Click="Button_Click_1" Margin="10" />
Run Code Online (Sandbox Code Playgroud)
private void Button_Click_1(object sender, RoutedEventArgs e)
{
    Button button = sender as Button;
    button.Effect = new System.Windows.Media.Effects.DropShadowEffect()
    {
        BlurRadius = 10,
        ShadowDepth = 5
    };
}
Run Code Online (Sandbox Code Playgroud)

或者StyleIsPressed如果仅在按下Button时才显示阴影,请使用绑定到属性的a :

<Button Content="Button">
    <Button.Style>
        <Style TargetType="Button">
            <Style.Triggers>
                <Trigger Property="IsPressed" Value="True">
                    <Setter Property="Effect">
                        <Setter.Value>
                            <DropShadowEffect BlurRadius="10" ShadowDepth="5"/>
                        </Setter.Value>
                    </Setter>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Button.Style>
</Button>
Run Code Online (Sandbox Code Playgroud)

或使用ToggleButtonEffect根据其IsChecked属性设置属性:

<ToggleButton>
    <ToggleButton.Style>
        <Style TargetType="ToggleButton">
            <Style.Triggers>
                <Trigger Property="IsChecked" Value="True">
                    <Setter Property="Effect">
                        <Setter.Value>
                            <DropShadowEffect BlurRadius="10" ShadowDepth="5"/>
                        </Setter.Value>
                    </Setter>
                </Trigger>
            </Style.Triggers>
        </Style>
    </ToggleButton.Style>
</ToggleButton>
Run Code Online (Sandbox Code Playgroud)