2017-09-18 22 views
2

Buttonを押したときに以下の変更を適用します。ボタンをクリックしたときの効果の変更WPF

<Button> 
    <Button.Effect> 
     <DropShadowEffect BlurRadius="10" ShadowDepth="5"/> 
    </Button.Effect> 
</Button> 
+2

テンプレートの仕組みを調べることができます。それらはゼロコードで正確に行うことができます。 – CShark

+0

あなたのボタンのものを処理するには、 'スタイル'と 'トリガー'を使います。 – XAMlMAX

答えて

1

ButtonためClickイベントを処理するでしょうか?

<Button Content="Click me!" Click="Button_Click_1" Margin="10" /> 

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 
    }; 
} 

それとも、ボタンを押している間だけ影を表示したい場合はIsPressedプロパティにバインドStyleを使用します。

<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> 

ToggleButtonを使用し、 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> 
関連する問題