2011-09-08 8 views
5

Boş araç ipucu: ben button1_Click yılındaBen ipucu bir TextBlock.Text binded bir düğme ile basit bir WPF uygulama var mesele

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

var:

textBlock1.Text = null; 

Ben hiçbir ipucu bekleniyor Düğme tıklandıktan sonra düğmesine tıklayın. Ancak, bir emty tooltip alıyorum. Bunu nasıl düzeltirim?

+0

sen doğrudan da ipucu ayarlayamıyor yine arkada kodu bir kullanıyorsam? Eğer araç ipucu daha karmaşık bir şablon/yapısını (WPF elemanları) kullanmak gerekebilir Eğer değilse o zaman bir dize – Carsten

cevap

5

Bunu hemen boş bir dizeye değişecek, null Text ayarlanamaz.

Geçici Çözüm # 1: değeri siler bir stil:

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

Çözüm # 2:valueString.Empty ise null döndürür bağlayıcı bir ValueConverter ekleyin.

başka yolları da olabilir.

+2

nasıl düzeltilir edildi soru - bu daha çok bir yorum gibi değil mi? – Carsten

+0

@ CarstenKönig: Bazı bazı geçici çözümler eklendi. CarstenKönig @ –

+0

: ... ben sadece soruna neden neyi fark sorunu kendileri çözme yolunda en insanlara liderlik için yeterli olduğunu düşünüyorum rağmen. Bu yüzden daha önceki versiyonum muhtemelen kendi başına durabilirdi. şimdi yorum yapmadan birisini downvote sevmiyorum - - Ben downvoted var daima bazı sorunlar işaret etmek yanıtladı ve o sürü başıma geldi - –