WPF按钮样式
我为切换按钮定义了一个样式:“MinorBusiness AreaToggleButtonStyle”,我想合并一个“ToggleButton.style”,但我不知道如何将“ToggleButton.style”合并到“MinorBusiness AreaToggleButtonStyle”样式中WPF按钮样式,wpf,button,Wpf,Button,我为切换按钮定义了一个样式:“MinorBusiness AreaToggleButtonStyle”,我想合并一个“ToggleButton.style”,但我不知道如何将“ToggleButton.style”合并到“MinorBusiness AreaToggleButtonStyle”样式中 我想将以下内容合并到上述样式中: <ToggleButton.Style> <Style TargetType="{x:Type ToggleButto
我想将以下内容合并到上述样式中:
<ToggleButton.Style>
<Style TargetType="{x:Type ToggleButton}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="False">
<Setter Property="Background" Value="HotPink" />
<Setter Property="Opacity" Value="1.0" />
</Trigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.2" To="1"></DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.2" To="0.2"></DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
将第二个
样式定义为具有x:Key
的资源。根据您的要求,您可能希望将其建立在ToggleButton\u Style\u base
的基础上:
<Style x:Key="FirstStyle" TargetType="{x:Type ToggleButton}" BasedOn="{StaticResource ToggleButton_Style_Base}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="False">
<Setter Property="Background" Value="HotPink" />
<Setter Property="Opacity" Value="1.0" />
</Trigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.2" To="1"></DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.2" To="0.2"></DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
谢谢这很有效。不可能将这两种样式合并为一种吗?我仍在试图弄清楚这是怎么回事。@mjordan:不。你可以将一个样式
建立在另一个样式
的基础上。另一个选项是将内容从一个样式复制粘贴到另一个。
<Style x:Key="FirstStyle" TargetType="{x:Type ToggleButton}" BasedOn="{StaticResource ToggleButton_Style_Base}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="False">
<Setter Property="Background" Value="HotPink" />
<Setter Property="Opacity" Value="1.0" />
</Trigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.2" To="1"></DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.2" To="0.2"></DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
<Style x:Key="MinorBusinessAreaToggleButtonStyle" TargetType="ToggleButton" BasedOn="{StaticResource FirstStyle}">
...
<ToggleButton Style="{StaticResource FirstStyle}" ... />