簡體   English   中英

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM