2009-06-11 7 views
7

मेरे earlier post के बाद अब मैं डेटाग्रिड कॉलम की दृश्यता को वीएम अधिसूचना संपत्ति में जोड़ने की कोशिश कर रहा हूं। MSDN सुझाव देता है कि मुझे आसानी से ऐसा करने में सक्षम होना चाहिए।सिल्वरलाइट डेटाग्रिडटेक्स्ट कॉलम बाइंडिंग दृश्यता

मैं पहले से ही एक मूल्य कनवर्टर और वीएम अधिसूचना संपत्ति कि मैं काम करता है पता है (मैं अपने पन्ने पर एक और तत्व पर इन का परीक्षण किया है: जब

<CheckBox x:Name="chkAllTeams" Visibility="{Binding Converter={StaticResource BoolToVisibilityConverter}, Path=AllTeams}"/> 

यह चेक बॉक्स नियंत्रण दृश्यता प्रतिक्रिया करता है के रूप में मैं उम्मीद होती है। मैं सेट DataTextColumn पर एक ही बंधन मैं दृश्यता = XAML की लाइन पर एक AG_E_BAD_PARSER त्रुटि मिलती है:

<data:DataGridTextColumn 
Visibility="{Binding Converter={StaticResource BoolToVisibilityConverter}, Path=AllTeams}" 
/> 

कोई भी विचार किसी को भी ०१२३५१६४१०धन्यवाद, मार्क

उत्तर

9

DataGridTextColumn पर दृश्यता चेकबॉक्स पर एक अलग जानवर है। असल में, यह एक निर्भरता संपत्ति नहीं है और डेटा-बाध्य नहीं हो सकता है। यदि आपको इस कार्यक्षमता की आवश्यकता है, तो आप डेटाग्रिडटेक्स्ट कॉलम को उप-वर्गीकृत कर सकते हैं और व्यवहार प्राप्त करने के लिए अपनी निर्भरता संपत्ति जोड़ सकते हैं।

  • आयत UIElement से उसकी दृश्यता संपत्ति हो जाता है और एक निर्भरता संपत्ति
  • DataGridTextColumn DataGridColumn से उसकी दृश्यता हो जाता है और एक निर्भरता संपत्ति नहीं है।
+0

आह यह मेरी अपेक्षा :-(कि एक आसान काम DataGridTextColumn उपवर्ग के लिए है है आप करते हैं? इसके लिए किसी भी ऑनलाइन उदाहरण के बारे में पता है? मार्क –

+1

मुझे डेटाग्रिडटेक्स्ट कॉलम के लिए किसी भी विशेष उदाहरण के बारे में पता नहीं है। सामान्य दृष्टिकोण उपclass होगा, दृश्यता के लिए एक नई निर्भरता संपत्ति जोड़ें और फिर डेटाग्रिड में नए उप-वर्ग का उपयोग करें। कॉलम। निर्भरता गुणों का एक अच्छा स्पष्टीकरण है: http://silverlight.net/blogs/jesseliberty/archive/2008/09/30/dependency-property-system-deeper-dive-part-1।एएसपीएक्स –

+0

वह लिंक अब मर चुका है, यह नया है: http://jesseliberty.com/2008/09/30/dependency-property-system-%E2%80%93-deeper-dive-part-1/ – Oskar

-1

क्या आपने संसाधन के रूप में BoolToVisibilityConverter सेट किया था?

+0

हां। चेकबॉक्स पर पिछला उदाहरण साबित करता है कि। –

+0

वास्तव में आपका उदाहरण केवल आधा कोड दिखाता है ... वैसे भी, जैसा कि अन्य ने कहा है कि आपकी समस्या नहीं हो सकती है। <स्थानीय: BoolToVisibilityConverter एक्स: मुख्य = "BoolToVisibilityConverter" /> vidalsasoon

-2

आप एक DataTemplate का उपयोग करना होगा:

< DataTemplate एक्स: मुख्य = "सीबीडीटी" >
< (UIElement यहाँ) x: नाम = "chkAllTeams" दृश्यता = "{बाइंडिंग कनवर्टर = {StaticResource BoolToVisibilityConverter}, पथ = AllTeams} "/> </DataTemplate >

जैसा कि पहले उल्लेख किया गया था, केवल UIElement है" दृश्यता "निर्भरता संपत्ति।

संदर्भ में इस का एक उदाहरण देखने के लिए:

http://blogs.msdn.com/scmorris/archive/2008/04/14/defining-silverlight-datagrid-columns-at-runtime.aspx

+2

कोई अच्छा जवाब नहीं है - यह कॉलम में * तत्व * छुपाता है, न कि * कॉलम * स्वयं। – slugster

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