第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

代碼隱藏更改背景/前景后丟失樣式觸發(fā)器

代碼隱藏更改背景/前景后丟失樣式觸發(fā)器

C#
繁星點(diǎn)點(diǎn)滴滴 2023-09-16 17:56:05
我試圖制作像discord 這樣的按鈕,它具有三種狀態(tài)?;顒?dòng)(單擊后)、完全不活動(dòng)并將鼠標(biāo)懸停在上面。所有這三種狀態(tài)都會(huì)改變顏色問(wèn)題出現(xiàn)在 Click 事件之后,因?yàn)闉榱藢⑵涓臑榛緺顟B(tài),我直接設(shè)置了 BG/FR。當(dāng)我這樣做時(shí),鼠標(biāo)懸停事件將在該按鈕中停止工作。有什么想法如何將 bg/fr 設(shè)置為其初始值而不影響樣式的觸發(fā)器嗎?我嘗試使用動(dòng)態(tài)顏色,但它根本無(wú)法設(shè)置。所以我有點(diǎn)迷失了,說(shuō)實(shí)話。按鈕的樣式:? ? ? ? <Style x:Key="MainMenuStyle" TargetType="{x:Type Button}">? ? ? ? ? ? <Setter Property="Background" Value="#FF303136"/>? ? ? ? ? ? <Setter Property="Foreground" Value="#FF6F7074"/>? ? ? ? ? ? <Setter Property="Template">? ? ? ? ? ? ? ? <Setter.Value>? ? ? ? ? ? ? ? ? ? <ControlTemplate TargetType="{x:Type Button}">? ? ? ? ? ? ? ? ? ? ? ? <Border Background="{TemplateBinding Background}" Padding="30, 0, 0, 0">? ? ? ? ? ? ? ? ? ? ? ? ? ? <ContentPresenter HorizontalAlignment="Left" VerticalAlignment="Center"/>? ? ? ? ? ? ? ? ? ? ? ? </Border>? ? ? ? ? ? ? ? ? ? </ControlTemplate>? ? ? ? ? ? ? ? </Setter.Value>? ? ? ? ? ? </Setter>? ? ? ? ? ? <Style.Triggers>? ? ? ? ? ? ? ? <Trigger Property="IsMouseOver" Value="True">? ? ? ? ? ? ? ? ? ? <Setter Property="Background" Value="#FF2A2A32"/>? ? ? ? ? ? ? ? ? ? <Setter Property="Foreground" Value="#FFBBBCB8"/>? ? ? ? ? ? ? ? </Trigger>? ? ? ? ? ? </Style.Triggers>? ? ? ? </Style>
查看完整描述

1 回答

?
慕的地8271018

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

依賴屬性概述:

綁定被視為本地值,這意味著如果您設(shè)置另一個(gè)本地值,您將消除綁定。有關(guān)詳細(xì)信息,請(qǐng)參閱依賴屬性值優(yōu)先級(jí)。

如果您對(duì)該Click事件感興趣,那么您應(yīng)該使用EventTrigger(或)使用 XAMLVisualStateManager來(lái)操作狀態(tài):Button

<Style x:Key="MainMenuStyle"

? ? ? ?TargetType="{x:Type Button}">

? <Setter Property="Background"

? ? ? ? ? Value="#FF303136" />

? <Setter Property="Foreground"

? ? ? ? ? Value="#FF6F7074" />

? <Setter Property="Template">

? ? <Setter.Value>

? ? ? <ControlTemplate TargetType="{x:Type Button}">

? ? ? ? <Border x:Name="ButtonBorder" Background="{TemplateBinding Background}"

? ? ? ? ? ? ? ? Padding="30, 0, 0, 0">

? ? ? ? ? <ContentPresenter HorizontalAlignment="Left"

? ? ? ? ? ? ? ? ? ? ? ? ? ? VerticalAlignment="Center" />

? ? ? ? </Border>

? ? ? ? <ControlTemplate.Triggers>

? ? ? ? ? <EventTrigger RoutedEvent="Click">

? ? ? ? ? ? <BeginStoryboard>

? ? ? ? ? ? ? <Storyboard>

? ? ? ? ? ? ? ? <ColorAnimation Storyboard.TargetName="ButtonBorder"?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Storyboard.TargetProperty="Background.(SolidColorBrush.Color)"

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Duration="0:0:0"?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? To="Coral" />

? ? ? ? ? ? ? ? <ColorAnimation Storyboard.Target="{Binding RelativeSource={RelativeSource TemplatedParent}}"

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Storyboard.TargetProperty="Foreground.(SolidColorBrush.Color)"

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Duration="0:0:0"

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? To="White" />

? ? ? ? ? ? ? </Storyboard>

? ? ? ? ? ? </BeginStoryboard>

? ? ? ? ? </EventTrigger>

? ? ? ? </ControlTemplate.Triggers>

? ? ? </ControlTemplate>

? ? </Setter.Value>

? </Setter>

</Style>

但如果您只想提供按鈕單擊反饋,您應(yīng)該在該Button.IsPressed屬性上觸發(fā):


<Style x:Key="MainMenuStyle"

? ? ? ?TargetType="{x:Type Button}">

? <Setter Property="Background"

? ? ? ? ? Value="#FF303136" />

? <Setter Property="Foreground"

? ? ? ? ? Value="#FF6F7074" />

? <Setter Property="Template">

? ? <Setter.Value>

? ? ? <ControlTemplate TargetType="{x:Type Button}">

? ? ? ? <Border x:Name="ButtonBorder" Background="{TemplateBinding Background}"

? ? ? ? ? ? ? ? Padding="30, 0, 0, 0">

? ? ? ? ? <ContentPresenter HorizontalAlignment="Left"

? ? ? ? ? ? ? ? ? ? ? ? ? ? VerticalAlignment="Center" />

? ? ? ? </Border>

? ? ? ? <ControlTemplate.Triggers>? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? <Trigger Property="IsPressed" Value="True">

? ? ? ? ? ? <Setter Property="Background"

? ? ? ? ? ? ? ? ? ? Value="Coral" />

? ? ? ? ? ? <Setter Property="Foreground"

? ? ? ? ? ? ? ? ? ? Value="White" />

? ? ? ? ? </Trigger>

? ? ? ? </ControlTemplate.Triggers>

? ? ? </ControlTemplate>

? ? </Setter.Value>

? </Setter>

</Style>

編輯

背景色之所以被設(shè)置回來(lái),是因?yàn)橛|發(fā)器的原因IsMouseOver。您所描述的從Button.Click事件處理程序切換樣式的解決方案并不干凈,無(wú)法回答您的問(wèn)題。


您希望Button單擊(選擇)時(shí)更改顏色,同時(shí)應(yīng)用鼠標(biāo)懸停效果。

因此我建議替換Button為ToggleButton. ToggleButton提供兩種開箱即用的狀態(tài)(選中和未選中):


<Style x:Key="MainMenuStyle"

? ? ? ?TargetType="{x:Type ToggleButton}">

? <Setter Property="Background"

? ? ? ? ? Value="#FF303136" />

? <Setter Property="Foreground"

? ? ? ? ? Value="#FF6F7074" />

? <Setter Property="Template">

? ? <Setter.Value>

? ? ? <ControlTemplate TargetType="{x:Type ToggleButton}">

? ? ? ? <Border x:Name="ButtonBorder" Background="{TemplateBinding Background}"

? ? ? ? ? ? ? ? Padding="30, 0, 0, 0">

? ? ? ? ? <ContentPresenter HorizontalAlignment="Left"

? ? ? ? ? ? ? ? ? ? ? ? ? ? VerticalAlignment="Center" />

? ? ? ? </Border>


? ? ? ? <ControlTemplate.Triggers>

? ? ? ? ? <Trigger Property="IsChecked" Value="True">

? ? ? ? ? ? <Setter Property="Background"

? ? ? ? ? ? ? ? ? ? Value="Coral" />

? ? ? ? ? ? <Setter Property="Foreground"

? ? ? ? ? ? ? ? ? ? Value="White" />? ??

? ? ? ? ? </Trigger>


? ? ? ? ? <Trigger Property="IsMouseOver" Value="True">

? ? ? ? ? ? <Setter Property="Background"

? ? ? ? ? ? ? ? ? ? Value="#FF2A2A32" />

? ? ? ? ? ? <Setter Property="Foreground"

? ? ? ? ? ? ? ? ? ? Value="#FFBBBCB8" />? ??

? ? ? ? ? </Trigger>


? ? ? ? ? <MultiTrigger>

? ? ? ? ? ? <MultiTrigger.Conditions>

? ? ? ? ? ? ? <Condition Property="IsChecked" Value="True" />

? ? ? ? ? ? ? <Condition Property="IsMouseOver" Value="True" />

? ? ? ? ? ? </MultiTrigger.Conditions>

? ? ? ? ? ? <Setter Property="Background"

? ? ? ? ? ? ? ? ? ? Value="Coral" />

? ? ? ? ? ? <Setter Property="Foreground"

? ? ? ? ? ? ? ? ? ? Value="#FFBBBCB8" />

? ? ? ? ? </MultiTrigger>

? ? ? ? </ControlTemplate.Triggers>

? ? ? </ControlTemplate>

? ? </Setter.Value>

? </Setter>? ??

</Style>


查看完整回答
反對(duì) 回復(fù) 2023-09-16
  • 1 回答
  • 0 關(guān)注
  • 83 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)