2014-07-07 8 views
7

मेरे पास RadioButton तत्व है जिसका IsChecked संपत्ति में MyProperty से जुड़ी है। कुछ कारणों से Binding मोड OneWayToSource है, यह RadioButton.IsChecked से ViewModel.MyProperty पर मान को धक्का देता है।WPF OneWayToSource प्रारंभिक मान बाध्यकारी

RadioButton.IsChecked प्रारंभ में false है, अब। मैं ViewModel से प्रारंभिक मान सेट करना चाहता हूं, जो true भी हो सकता है। मैं ऐसा नहीं कर सकता क्योंकि संपत्ति बाध्यकारी द्वारा कब्जा कर लिया गया है।

क्या उस मोड के साथ Binding का उपयोग करने और UI में बाध्य संपत्ति के लिए डिफ़ॉल्ट मान सेट करने का कोई तरीका है? ऐसा ही कुछ:

<RadioButton IsChecked="{Binding MyProperty, Mode=OneWayToSource, DefaultVaule=???}"> 
</RadioButton> 
+0

के संभावित डुप्लिकेट (http://stackoverflow.com/ प्रश्न/2238905/डिफ़ॉल्ट-मान-इन-डब्लूपीएफ-डाटाबेसिंग) – pushpraj

+0

तो क्या आपका मतलब यह है कि आप मूल्य को नियंत्रण मॉडल से मूल्य मॉडल में धक्का देना चाहते हैं और आप मान सेट करने में सक्षम नहीं हैं क्योंकि संपत्ति बाध्यकारी द्वारा कब्जा कर लिया गया है और बाध्यकारी में कोई अन्य विकल्प उपलब्ध नहीं है? यदि हां तो शायद बाध्यकारी में FallbackValue को डिफॉल्ट करना और व्यू मॉडल प्रॉपर्टी का डिफ़ॉल्ट मान उसी मान पर डिफ़ॉल्ट हो सकता है, तो आप इसे प्राप्त करने में सहायता कर सकते हैं। डिफ़ॉल्ट रूप से 'बूलियन' और' Ischecked' के लिए डिफ़ॉल्ट मान 'झूठा' है, इसलिए जब तक आप डिफ़ॉल्ट होने के लिए डिफ़ॉल्ट नहीं चाहते हैं, तब तक आपको किसी भी बदलाव की आवश्यकता नहीं हो सकती है। – pushpraj

+0

पहली वाक्य में आपने बिल्कुल बताया कि मेरा क्या मतलब है। और मैं 'Ischecked' को' True 'के रूप में सेट करना चाहता हूं - यही समस्या है। – monstr

उत्तर

8

तो मैं समझ गया कि आप सही, मुझे लगता है कि यह मदद कर सकता है:

आप TargetNullValue संपत्ति के माध्यम से डिफ़ॉल्ट मान परिभाषित कर सकते हैं। आप उदाहरण के लिए, या तो गलती की स्थिति में एक FallbackValue मूल्य निर्धारित कर सकते हैं:

<TextBox Text="{Binding MyProperty, TargetNullValue=0, FallbackValue=10}" /> 

यहाँ देखें: [? WPF DataBinding में डिफ़ॉल्ट मान] enter link description here

+0

काम कर रहा है नहीं, यह काम नहीं करेगा, मैंने पहले ही वह पोस्ट देखा है। 'TargetNullValue' का उपयोग तब किया जाता है जब लक्ष्य की संपत्ति' शून्य 'के बराबर होती है। लेकिन मेरे पास 'बूलियन' संपत्ति है। – monstr

+1

'FallbackValue' का उपयोग करने के साथ यह काम करता है – monstr

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