Пустая подсказка - PullRequest
       26

Пустая подсказка

5 голосов
/ 08 сентября 2011

У меня есть простое приложение WPF с кнопкой, подсказка которой привязана к TextBlock. Текст:

<Grid>
    <Button Height="23" Margin="82,0,120,105" Name="button1" VerticalAlignment="Bottom" ToolTip="{Binding ElementName=textBlock1,Path=Text}" Click="button1_Click">Button</Button>
    <TextBlock Height="23" Margin="64,55,94,0" Name="textBlock1" VerticalAlignment="Top" Text="AD" />
</Grid>

В button1_Click, у меня есть:

textBlock1.Text = null;

Я не ожидал всплывающей подсказки для кнопки после нажатия кнопки. Тем не менее, я получаю пустую подсказку. Как мне это исправить?

1 Ответ

5 голосов
/ 08 сентября 2011

Вы не можете установить Text на ноль, оно сразу изменится на пустую строку.

Обходной путь # 1: стиль, который очищает значение:

<!-- Do NOT set the ToolTip on the Button itself -->
<Style TargetType="Button" xmlns:sys="clr-namespace:System;assembly=mscorlib">
    <Setter  Property="ToolTip" Value="{Binding ...}"/>
    <Style.Triggers>
        <DataTrigger Binding="{Binding ...}" Value="{x:Static sys:String.Empty}">
            <Setter Property="ToolTip" Value="{x:Null}" />
        </DataTrigger>
    </Style.Triggers>
</Style>

Обходной путь # 2: Добавьте ValueConverter к привязке, которая возвращает null, если value равно String.Empty.

Могут быть и другие способы.

...