我正在使用<MaterialDesign:PackIcon Kind="BugOutline"/>和尝试相同的触发器。动机是更改焦点上的MaterialDesign:PackIcon Kind=“BugOutline”的边框颜色
<Button Margin="10 5" Command={Binding AddBugCommand} ToolTip="Add" Style="{StaticResource MaterialDesignIconButton}">
<Material:PackIcon Kind="BugOutline"/>
</Button>
我做了以下工作:
<MaterialDesign:PackIcon.Style>
<Style TargetType="MaterialDesign:PackIcon">
<Style.Triggers>
<Triggers Property="IsFocused" Value="True">
<Setter Property="BorderBrush" Value=""Yellow"/>
<Setter Propety="BorderThickness" Value="2"/>
</Triggers>
</Style.Trigers>
</Style>
</MaterialDesign:PackIcon.Style>
我还尝试通过扩展已有的按钮样式来为按钮本身创建触发器。但没有成功。
<Button.Style>
<Style TargetType="{x:Type Button}" BasedOn={StaticResource MaterialDesignIconButton}>
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="BorderBrush" Value="Yellow"/>
<Setter Property="BorderThickness" Value="2"/>
<Trigger>
</Style.Triggers>
</Style>
</Button.Style>
1条答案
按热度按时间fcipmucu1#
下面是一个示例解决方案。
如果你想适应我的例子,请不要忘记将BaseOn属性添加到样式中,将Path更改为PackIcon,并在触发时调整必要的画笔。