Как я могу использовать триггер свойства в стиле (или другом методе) для изменения свойства (например, всплывающей подсказки), значение которого уже определено привязкой?
У меня есть простая кнопка вроде:
<Button Name="Button1" Style="{StaticResource ButtonStyle}"
ToolTip="{Binding Name}" >My Button</Button>
Он имеет привязку к всплывающей подсказке, чтобы показать свойство Name класса, установленного как 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 кнопок, которые будут иметь разные привязки для включенной всплывающей подсказки, но ту же (фиксированную) подсказку, когда они отключены.
Есть предложения?