我现在遇到 WPF/Xaml 样式问题:
我正在尝试创建一个可以显示文本或路径图标的通用按钮。当按钮悬停时,路径应更改其“填充”属性。
我目前的方法允许使用控件模板资源来为路径设置颜色样式,但是当鼠标悬停在按钮上时我无法更改它。当前样式代码如下所示:
<Style TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border
x:Name="Border"
Background="{TemplateBinding Background}"
BorderThickness="0"
Padding="2">
<ContentPresenter
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
Margin="{TemplateBinding Padding}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
RecognizesAccessKey="True" />
</Border>
<ControlTemplate.Resources>
<Style TargetType="{x:Type Path}" BasedOn="{StaticResource {x:Type Path}}">
<Setter Property="Fill" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Foreground}" />
</Style>
</ControlTemplate.Resources>
<ControlTemplate.Triggers>
<Trigger Property="IsPressed" Value="True">
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{StaticResource HoveredDarkBackgroundBrush}"/>
<Setter Property="Foreground" Value="#d0d0d0" />
</Trigger>
<Trigger Property="IsEnabled" Value="false">
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Background" Value="{StaticResource DarkBackgroundBrush}" />
<Setter Property="Foreground" Value="#c4c4c4" />
</Style>
我知道我需要更改控件模板触发器中的颜色,但我不明白如何将颜色应用于路径。有人可以给我一些提示或解决方案的路径吗?
问候菲利克斯
PS.:样式按钮如下所示:
<Button ToolTip="...">
<Path Data="..." />
</Button>