2009-07-22 11 views
7

मेरे पास दो टेक्स्ट बॉक्स हैं, एक बिलिंग पता फ़ील्ड के लिए एक और एक शिपिंग पता फ़ील्ड के लिए। उपयोगकर्ता प्रकार बिलिंग पता पाठ में कुछ बॉक्स जब शिपिंग पता पाठ बॉक्स एक ही मूल्य हो जाता है निम्नलिखित बाध्यकारी परिदृश्य की वजह से:डब्ल्यूपीएफ मल्टीबाइंडिंग

<TextBox Name="txtBillingAddress" Text="{Binding BillingAddress, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" /> 

<TextBox Name="txtShippingAddress"> 
    <TextBox.Text> 
     <MultiBinding Converter="{StaticResource AddressConverter}"> 
     <Binding ElementName="txtBillingAddress" Path="Text" Mode="OneWay" /> 
     <Binding Path="ShippingAddress" UpdateSourceTrigger="PropertyChanged" Mode="TwoWay" /> 
     </MultiBinding> 
    </TextBox.Text> 
</TextBox> 

यह एक बात करने के लिए ठीक काम करता है। मैं यह भी चाहता हूं कि शिपिंग पता मेरे डेटाबेस इकाई से जुड़ा हो क्योंकि बिलिंग पता है। मेरी समस्या यह है कि शिपिंग पता टेक्स्ट बॉक्स बिलिंग पते में टाइप की गई चीज़ों के साथ पॉप्युलेट किया जाता है, जबकि यह हो रहा है, जबकि कनवर्टबैक विधि को निकाल दिया नहीं जाता है। अगर केवल शिपिंग पता टेक्स्ट बॉक्स में सीधे टाइप किया जाता है तो इसे केवल निकाल दिया जाता है।

मुझे क्या याद आ रही है?

+0

जहां txtAddress नियंत्रण अपने MultiBinding में रहते है? क्या आप txtBillingAddress डालने का मतलब था? –

+0

हां, भ्रम के लिए खेद है। मेरी स्थिति थोड़ा और जटिल है इसलिए मैं सीधी प्रतिलिपि + पेस्ट नहीं कर सका। – David

उत्तर

5

शायद आपके व्यूमोडेल में इसे कार्यान्वित करना आसान होगा?

public string BillingAddress{ 
    set{ 
     billingAddress = value; 
     firePropertyChanged("BillingAddress"); 
     if(string.isNullOrEmpty(ShippingAddress) 
     { 
      ShippingAddress = value; //use the property to ensure PropertyChanged fires 
     } 
    } 
    get{ return billingAddress; } 
} 
+0

यह अच्छी तरह से काम करता है। धन्यवाद। – David