![](/img/trans.png)
[英]Problem in Changing the Background color of label on Button Click in MVVM WPF
[英]WPF changing button background on click
我在側面板上有一組按鈕。 我想更改已單擊按鈕的背景。 我嘗試使用style.trigger
進行操作,而我唯一想到的屬性是IsPressed
,但這無濟於事,因為它會改變背景一秒鍾(直到按下[duh]按鈕)。
這是我嘗試過的代碼:
<Style.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="SlateGray" />
<Setter Property="Foreground" Value="White"></Setter>
</Trigger>
</Style.Triggers>
我可以想到的另一種方法是使用數據datatrigger
為每個按鈕創建個性化樣式,因為我擁有隨按鈕的選擇而變化的屬性,但這似乎是一個過大的選擇。 知道如何突出顯示已單擊的按鈕嗎?
當您的條件得到滿足時,這種觸發器就會運行,然后效果消失。 為了定下來好好休息一下
<Button Content="Content" Background="Red">
<Button.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="(Button.Background).(SolidColorBrush.Color)" To="CadetBlue"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
由於IsPressed不是RoutedEvent,因此可以使用此方法
<Button Content="Content" Background="Red">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsPressed" Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="(Button.Background).(SolidColorBrush.Color)" To="CadetBlue"/>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.