2012-07-18 15 views
8

मैंने एक उपयोगकर्ता नियंत्रण बनाया है, जिसमें 2 निर्भरता गुण हैं। मैं उन निर्भरता गुणों को मुख्यViewModel की संपत्ति में जोड़ना चाहता हूं, ताकि जब भी उपयोगकर्ता नियंत्रण में कुछ बदल जाए तो माता-पिता की संपत्ति अपडेट हो जाती है।डब्ल्यूपीएफ उपयोगकर्ता की संपत्ति को पेरेंट की संपत्ति के लिए बाध्य करें

मैंने कोशिश की, इसे सामान्य रूप से बाध्यकारी लेकिन यह काम नहीं किया। मैं उपयोगकर्ता के नियंत्रण के डीपी को माता-पिता की संपत्ति से कैसे बांध सकता हूं। यूसी:

मैं इस कोशिश की

<TextBox Name="TextBox" Text="{Binding ElementName=UCName, Path=DP1, Mode=TwoWay}"/> 

MainWindow:

<UCName:UCName Width="330" CredentialName="{Binding Path=DP1, Mode=TwoWay}"></UCName:UCName> 

धन्यवाद

+0

क्या आप कुछ कोड उदाहरण प्रदान कर सकते हैं, जिसमें आप निर्भरता गुणों के लिए बाध्यकारी हैं। – Nathan

+0

बस मूल पोस्ट – Ali

उत्तर

18

माता पिता के गुण आप अपने बाइंडिंग में RelativeSource का उपयोग करना चाहिए के लिए बाध्य है।

<TextBox Name="TextBox" Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UCName:UCName}}, Path=DP1, Mode=TwoWay}"/> 

विवरण:: https://msdn.microsoft.com/en-us/library/ms743599(v=vs.100).aspx

पुनश्च: इस तरह मत भूलना नाम स्थान UCName को परिभाषित करें।

[संपादित करें] दस्तावेज़ के .NET 4 संस्करण में यूआरएल बदल गया।

+0

संपादित किया गया आपका लिंक पुराना हो गया है। –

5

कुछ इस तरह:

<MainWindow DataContext="mainViewModel"> 

<local:TestControl ucDependProp="{Binding viewModelProp}/> 

</MainWindow> 


className: TestControl.xaml 
<UserControl Name="thisControl"> 
<TextBox Text="{Binding ElementName=thisControl, Path=ucDependProp}/> 
</UserControl> 

उपयोगकर्ता नियंत्रण जनक दृश्य मॉडल के बारे में पता नहीं होना चाहिए।

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