想知道是否有可能仅在禁用的项目上显示 WPF,而不是在启用项目上显示。
我想给用户一个提示框,解释为什么当前项目被禁用。
我有一个 IValueConverter 来反转布尔值 IsEnabled 属性绑定。但在这种情况下它似乎并不起作用。ToolTip 在项目启用和禁用时都会显示。
因此,能否将 ToolTip.IsEnabled 属性绑定到项目自身的 !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>
谢谢大家。