Zeigen WPF tooltip auf Behinderten-Element nur

Gerade gefragt, ob es möglich ist, zu zeigen, eine WPF, die auf ein deaktiviertes Element NUR (und nicht, wenn das Element aktiviert ist).

Möchte ich Ihnen einen Beschreibungs-tooltip, warum ein Element ist derzeit deaktiviert.

Ich habe eine IValueConverter zum umkehren der booleschen IsEnabled Eigenschaft verbindlich. Aber es scheint nicht zu funktionieren in dieser situation. Die ToolTip ist beides zeigen, wenn das Element aktiviert und deaktiviert.

So ist es möglich, binden eine ToolTip.IsEnabled Eigentums ausschließlich auf ein Element besitzen !IsEnabled?

Ziemlich einfache Frage denke ich, aber code-Beispiel hier sowieso:

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
}

Und Bindung:

<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>

Vielen Dank Leute.

InformationsquelleAutor der Frage dant | 2010-05-23

Schreibe einen Kommentar