我目前正在為所有的wpf控制元件制作自己的Themes。 我無法真正使復選框用戶控制元件作業。 我試圖在檢查復選框時得到一個平滑的顏色淡入/淡出。 這是我在資源字典中的相關代碼部分:
<Border x: 名稱="checkbox" CornerRadius="5" Width="18" Height="18" BorderThickness="1" BorderBrush="Black">
<! -- Checkmark -->
<TextBlock Text="& #xE73E; ClipToBounds="True"/span> FontFamily="Segoe MDL2 Assets" HorizontalAlignment="Left"
Background="Transparent" Foreground="White" 字體大小="15" 字體重量="ExtraBold"/>
<Border.Style>
<Style TargetType="Border">/span>
<!--影片(顏色淡入淡出)-->
< Setter Property="Background" Value="Transparent"/>/span>
<Style.Triggers>/span>
< DataTrigger Binding="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=IsChecked}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>/span>
<ColorAnimation To="#006092" Duration="0:0:0。 2" Storyboard.TargetProperty="Background.Color"/>
</Storyboard>/span>
</BeginStoryboard>/span>
</DataTrigger.EnterActions>
</DataTrigger>/span>
< DataTrigger Binding="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=IsChecked}" Value="False">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>/span>
<ColorAnimation To="#FFFFFF" Duration="0:0:0。 2" Storyboard.TargetProperty="Background.Color"/>
</Storyboard>/span>
</BeginStoryboard>/span>
</DataTrigger.EnterActions>
</DataTrigger>/span>
</Style.Triggers>/span>
</Style>>
</Border.Style>/span>
</Border>
淡出作業(Value=false),但淡入從未觸發。我添加了一個 "From "值來確認/測驗這一點,它根本沒有觸發。 非常感謝所有的幫助!
。親切的問候
uj5u.com熱心網友回復:
正確的方法是使用EnterAction和ExitAction的Trigger,并且將觸發器從Style移到ControlTemplate。還請注意Border屬性是如何被連接到模板化的父類,以允許本地值產生影響。
< CheckBox IsChecked="True" BorderThickness="1" BorderBrush="Black">
<CheckBox.Template>
<ControlTemplate TargetType="CheckBox">
<Border x:Name="checkbox"
Background="{TemplateBinding Background}"
BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"。
CornerRadius="5"。
Width="18" Height="18" >
<!-- checkmark -->
<TextBlock Text="& #xE73E; ClipToBounds="True"/span> FontFamily="Segoe MDL2 Assets" HorizontalAlignment="Left"
Background="Transparent" Foreground="White" 字體大小="15" 字體重量="ExtraBold"/>
</Border>
<ControlTemplate.Triggers>
< Trigger Property="IsChecked" Value="True">
<Trigger.EnterActions>/span>
<BeginStoryboard>
<Storyboard>/span>
<ColorAnimation To="#006092" Duration="0:0:0。 2" Storyboard.TargetProperty="Background.Color"/>
</Storyboard>/span>
</BeginStoryboard>/span>
</Trigger.EnterActions>
<Trigger.ExitActions>/span>
<BeginStoryboard>
<Storyboard>/span>
<ColorAnimation To="#FFFFFF" Duration="0:0:0。 2" Storyboard.TargetProperty="Background.Color"/>
</Storyboard>/span>
</BeginStoryboard>/span>
</Trigger.ExitActions>
</Trigger>/span>
</ControlTemplate.Triggers>
</ControlTemplate>
</CheckBox.Template>
</CheckBox>/span>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/329105.html
標籤:
