Просто интересно, возможно ли показывать WPF только на отключенном элементе (а не когда элемент включен).
Я хотел бы дать пользователю подсказку, объясняющую, почему элемент в настоящее время отключен.
У меня есть IValueConverter
, чтобы инвертировать связывание свойств boolean IsEnabled
. Но в этой ситуации это, похоже, не работает. ToolTip
отображается, когда элемент включен и отключен.
Таким образом, возможно привязать свойство ToolTip.IsEnabled
исключительно к элементу own! IsEnabled
?
Довольно простой вопрос, я думаю, но здесь все равно пример кода:
public class BoolToOppositeBoolConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
if (targetType != typeof(bool))
throw new InvalidOperationException("The target must be a boolean");
return !(bool)value;
}
public object ConvertBack(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
if (targetType != typeof(bool))
throw new InvalidOperationException("The target must be a boolean");
return !(bool)value;
}
#endregion
}
И привязка:
<TabItem Header="Tab 2" Name="tabItem2" ToolTip="Not enabled in this situation." ToolTipService.ShowOnDisabled="True" ToolTipService.IsEnabled="{Binding Path=IsEnabled, ElementName=tabItem2, Converter={StaticResource oppositeConverter}}">
<Label Content="Item content goes here" />
</TabItem>
Спасибо, ребята.