2011-07-05 10 views
8

आप एक कन्वर्ट-आधारित कैलिब्रर्न में वैल्यू कनवर्टर कैसे लागू करते हैं। माइक्रो बाइंडिंग? या आपको {बाध्यकारी} वाक्यविन्यास का उपयोग करने की आवश्यकता है?आप एक कन्वेंशन-आधारित कैलिब्रर्न में वैल्यू कनवर्टर कैसे लागू करते हैं। माइक्रो बाइंडिंग?

मैं जानता हूँ कि मैं इस

<TextBlock 
    Text="{Binding Foo, Converter=fooToBarConverter}" /> 

कर सकता है, लेकिन मैं कैसे कि कस्टम कनवर्टर लागू होते हैं अगर मैं विन्यास से अधिक Caliburn.Micro के सम्मेलन का उपयोग कर रहा है, जैसे

<TextBlock 
    x:Name="Foo" /> 

धन्यवाद,

उत्तर

5

आपको ConventionManager.ApplyValueConverter func को प्रतिस्थापित करने की आवश्यकता है। डिफ़ॉल्ट रूप से यह केवल bool => दृश्यता रूपांतरण करता है। साथ ही, आप परंपरागत स्ट्रिंग स्वरूपण के लिए ApplyStringFormat func को प्रतिस्थापित कर सकते हैं। यह देखने के लिए कि यह कैसे काम करता है, ConventionManager में एक नज़र डालें।

+0

कूल - धन्यवाद। मैंने सेटबाइंडिंग को यह कहते हुए देखा था, लेकिन मेरे खुद को लिखने की आवश्यकता के मामले में डॉट्स में शामिल नहीं हुआ था ... – kiwipom

+0

तो, शायद मैं डिफ़ॉल्ट बूलटॉविस फ़ंक्शन को कहीं भी स्टोर करना चाहता हूं, अपना खुद का ApplyValueConverter बनाएं, फिर पुनर्स्थापित करें वीएम के बाद डिफ़ॉल्ट एक दृश्य को बाध्यकारी पूरा करता है। क्या यह एक उचित दृष्टिकोण है? यकीन नहीं है कि मैं अपने बहुत विशिष्ट आईवीसी को डिफॉल्ट, टीबीएच के आसपास झूठ बोलना चाहता हूं ... – kiwipom

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