2011-09-08 9 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; 

मैं के लिए कोई टूलटिप की उम्मीद बटन क्लिक करने के बाद बटन क्लिक करें। हालांकि, मुझे एक एटी टूलटिप मिल रहा है। मैं यह कैसे तय करुं?

+0

यदि आप कोड-बैक का उपयोग करते हैं तो भी आप टूलटिप को सीधे सेट नहीं कर सकते हैं? यदि नहीं, तो आपको टूलटिप के लिए एक अधिक जटिल टेम्पलेट/निर्माण (WPF तत्व) का उपयोग करना पड़ सकता है, फिर एक स्ट्रिंग – Carsten

उत्तर

5

आप 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: बंधन जो null लौटाता है यदि valueString.Empty है करने के लिए एक ValueConverter जोड़ें।

अन्य तरीके भी हो सकते हैं।

+2

सवाल यह था कि कैसे ठीक किया जाए - क्या यह एक टिप्पणी की तरह नहीं है? – Carsten

+0

@ कार्स्टनकॉन्ग: कुछ कुछ कामकाज जोड़ा गया। –

+0

@ कार्स्टनकॉन्ग: ... भले ही मुझे लगता है कि समस्या को हल करने के लिए समस्या का कारण क्या है, इस मुद्दे को हल करने की दिशा में अधिकांश लोगों का नेतृत्व करने के लिए पर्याप्त है। तो मेरा पिछला संस्करण शायद अपने आप पर खड़ा हो सकता था। –

संबंधित मुद्दे