2011-09-08 49 views
5

我有它的提示被綁定到一個TextBlock.Text一個按鈕,一個簡單的WPF應用程序:空提示的問題

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

我的預期沒有工具提示點擊按鈕後的按鈕。不過,我收到了一個emty工具提示。我該如何解決?

+0

如果你使用代碼背後無論如何你不能直接設置工具提示嗎?如果沒有,你可能不得不使用更復雜的模板/構造(WPF元素)作爲工具提示,那麼字符串 – Carsten

回答

5

您不能將Text設置爲null,它會立即更改爲空字符串。

解決方法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如果valueString.Empty結合。

可能還有其他方法。

+2

的問題是如何解決 - 是不是更像是一個評論? – Carsten

+0

@CarstenKönig:增加了一些解決方法。 –

+0

@CarstenKönig:......即使我認爲只是意識到導致問題的原因足以導致大多數人自己解決問題。所以我以前的版本可能會獨立。 –