如何在样式(或其他方法)中使用属性触发器来更改已通过绑定定义其属性值的属性(例如ToolTip)?使用属性触发器更改已具有绑定属性
我有这样一个简单的按钮,以便:
<Button Name="Button1" Style="{StaticResource ButtonStyle}"
ToolTip="{Binding Name}" >My Button</Button>
它在提示绑定,以显示设置的DataContext类的名称属性。
我的问题是我想显示名称,当按钮被启用,但其他东西时,它被禁用。我以为我可以避开我的问题与风格和触发器像这样:
<Style TargetType="Button" x:Key="ButtonStyle">
<Setter Property="ToolTipService.ShowOnDisabled" Value="True" />
<Style.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="ToolTip" Value="Disabled" />
</Trigger>
</Style.Triggers>
</Style>
但是,这是行不通的。如果我从按钮中删除了工具提示绑定,那么当按钮被禁用时,我会得到正确的工具提示。但似乎我不能同时拥有绑定和触发器。
我能避开它通过添加另一个触发像这样:
<Trigger Property="IsEnabled" Value="true">
<Setter Property="ToolTip" Value="{Binding Name}" />
</Trigger>
但我想使用的样式为4个或5个按钮,将所有有启用工具提示不同的绑定,但相同的(固定)工具提示,当他们被禁用。
有什么建议吗?