xaml - binding tooltip to custom dependency property -


यह कोड कार्य सही है:

  & lt; UserControl x: class = "Extended.InputControls .TextBoxUserControl "xmlns =" ​​http://schemas.microsoft.com/winfx/2006/xaml/presentation "xmlns: x =" http://schemas.microsoft.com/winfx/2006/xaml "xmlns: स्थानीय =" clr-नाम स्थान: Extended.InputControls "& gt; & Lt; टेक्स्ट बॉक्स एक्स: नाम = "टेक्स्टबॉक्स" टूलटिप = "{बाध्यकारी पथ = कस्टम टूलटिप, रिलेटिव सोरस = {रिलेटिव एसर्स पूर्वज टाइप = लोकल: टेक्स्ट बॉक्स यूज़र कंट्रोल}}" / & gt; & Lt; / UserControl & gt;  

लेकिन यह कोड काम नहीं करता !!!

  & lt; UserControl x: कक्षा = "विस्तारित। इनपुटकंट्रोल। टेकबॉक्सबॉक्स नियंत्रक" xmlns = "http: / /schemas.microsoft.com/winfx/2006/xaml/presentation "xmlns: x =" http://schemas.microsoft.com/winfx/2006/xaml "xmlns: स्थानीय =" clr-namespace: विस्तारित। इनपुटकंट्रोल "& gt ; & Lt; पाठ बॉक्स एक्स: नाम = "पाठ बॉक्स" & gt; & LT; TextBox.ToolTip & gt; & Lt; टूलटिप टेक्स्ट = "{बाध्यकारी पथ = कस्टम टालटिप, रिलेटिव सोरस = {रिलेटिवसॉर पूर्वज पूर्वजों = लोकल: टेक्स्टबॉक्स उपयोगकर्ता नियंत्रक}}" पृष्ठभूमि = "पीला" / & gt; & LT; /TextBox.ToolTip> & Lt; / पाठ बॉक्स & gt; & Lt; / UserControl & gt;  

मुझे कस्टम टूलटिप बनाने की आवश्यकता है और इसे कस्टमटूलटिप पर बाध्य कर लेना चाहिए लेकिन दूसरी कोड में जो कुछ भी समस्या से जुड़ा नहीं है?

& lt; टूलटिप सामग्री = "..." & gt; के बजाय होना चाहिए & lt; टूलटिप टेक्स्ट = "..." & gt; , चूंकि टूलटिप कोई टेक्स्ट संपत्ति नहीं है।

बाध्यकारी: टूलटिप के भीतर से उपयोगकर्ता नियंत्रण में अन्य तत्वों के लिए बाध्य नहीं होता क्योंकि टूलटिप तत्व दृश्य पेड़ का हिस्सा नहीं हैं, जैसा कि समझाया गया है।

हालांकि, ऐसा लगता है कि आप बाध्यकारी हैं कुछ संपदा यूज़र कंट्रोल के कोड-पीछे में परिभाषित है? उस स्थिति में यह नियंत्रण करने के लिए UserControl के DataContext को सेट करके भी हल करना आसान होता है:

  & lt; UserControl x: वर्ग = "विस्तारित। इनपुटकंट्रोल। पाठ बॉक्सऑपर कंट्रोल" xmlns = "Http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns: x = "http://schemas.microsoft.com/winfx/2006/xaml" xmlns: स्थानीय = "clr-namespace: विस्तारित.इनपुटकंट्रोल "डेटाकॉन्टेक्स्ट =" {बाध्यकारी रिलेटिव सोरस = {रिलेटिव एसर्स}} "& gt; & Lt; पाठ बॉक्स एक्स: नाम = "पाठ बॉक्स" & gt; & LT; TextBox.ToolTip & gt; & Lt; टूलटिप सामग्री = "{बाध्यकारी कस्टमटुलटिप}" पृष्ठभूमि = "पीला" / & gt; & LT; /TextBox.ToolTip> & Lt; / पाठ बॉक्स & gt; & Lt; / UserControl & gt; वैकल्पिक रूप से, आप कोड-पीछे में  DataContext  सेट भी कर सकते हैं: 

  सार्वजनिक पाठ बॉक्स उपयोगकर्ता नियंत्रक () {this.DataContext = इस; InitializeComponent (); }  

दोनों ही मामलों में, CustomToolTip संपत्ति को सीधे relativeSource बाइंडिंग की आवश्यकता के बिना पहुंचा जा सकता है।

एक और भी बेहतर समाधान होगा कि वोडेडेल वर्ग की शुरुआत हो जो कि CustomToolTip और सभी समान गुण रखती है, और इस वर्ग को UserControl के DataContext के रूप में सेट करें।

>

Comments

Popular posts from this blog

Docker - Tomcat and PostgreSQL containers in same host - No Route to host -

Python Equivalent for matlab cart2pol and pol2cart -

java - Joda Time Interval Not returning what I expect -