WPF बाइंडिंग में "{बाइंडिंग पाथ =।}" का क्या अर्थ है?


91

{Binding Path=.}WPF बाइंडिंग में क्या अर्थ है?

मैं देखता हूं कि कुछ लोग इसका उपयोग करते हैं, लेकिन कोई स्पष्टीकरण नहीं मिला।

क्या बाइंडिंग सिंटेक्स (के अलावा {Binding /}) में कोई अन्य विशेष प्रतीक हैं ?

जवाबों:


59

यह वर्तमान स्रोत के लिए बाध्यकारी के लिए आशुलिपि है। अधिक जानकारी के लिए यहां देखें ।

प्रलेखन से विशेष रूप से:

वैकल्पिक रूप से, वर्तमान स्रोत से बांधने के लिए एक अवधि (।) पथ का उपयोग किया जा सकता है। उदाहरण के लिए, Text="{Binding}"के बराबर है Text="{Binding Path=.}"


1
@ राय - मेरे विचार बिल्कुल। यदि आप शॉर्टहैंड जा रहे हैं, तो वहां क्यों रुकें?
मिकहटन

5
मैं MSDN के साथ बहस नहीं कर सकता, लेकिन अभी भी एक अंतर है। {बाइंडिंग} का उपयोग किसी ऑब्जेक्ट पर स्वयं नहीं किया जा सकता है (दो तरह से इसे एक संपत्ति की आवश्यकता होती है) जबकि {बाइंडिंग पथ =} काम करता है।
सर्गेई अल्दखोव

@Sergey - क्या आपके पास एक कोड नमूना है जहां {Binding} काम नहीं करता है लेकिन {Binding Path =} करता है। यदि ऐसा है, तो MSDN को शायद अपडेट होने की आवश्यकता है ...
micahtan

आसानी से: var s = "परीक्षण; DataContext = s; और <TextBox टेक्स्ट = {बाइंडिंग} /> में काम नहीं करता। लेकिन MSDN विकि नहीं है ...
सर्गेई Aldoukhov

8
एक और छूट: <TextBlock पाठ = "{बाइंडिंग कनवर्टर = ...}" /> काम नहीं करता है क्योंकि आपको पथ सेट करना होगा। उस मामले में पथ =। उपयोगी है।
निकोलस

67

मैंने कुछ महीने पहले इस WPF बाइंडिंग चीटशीट को ढूंढा और इसे बहुत उपयोगी पाया, विशेष रूप से WPF सीखने वाले किसी भी व्यक्ति के लिए। इसके भीतर वर्तनी की कुछ गलतियाँ हैं, लेकिन यह अभी भी काफी अच्छी है।

यहाँ एक छोटा सा अंश है (जिसे सारणीबद्ध स्वरूपण माना जाता है):

Basic Binding   
{Binding}  Bind to current DataContext. 
{Binding Name}  Bind to the “Name” proeprty of the current DataContext. 
{Bindind Name.Length}  Bind to the Length property of the object in the Name property of the current DataContext. 
{Binding ElementName=SomeTextBox, Path=Text}  Bind to the “Text” property of the element XAML element with name=”SomeTextBox” or x:Name=”SomeTextBox”. 

चीटशीट का सीधा लिंक


2
अच्छा है लेकिन क्या है {बंधन}। मैं इस एक के लिए स्पष्टीकरण खोज रहा हूं, लेकिन मुझे यह नहीं मिल रहा है?
बटमासी

@batmaci मैं कहना चाहता हूं कि यह इसके बराबर है {Binding }, लेकिन मुझे Xaml के साथ काम करते हुए काफी साल हो गए हैं, इसलिए मुझे यकीन नहीं है।
रयान वर्सा

@batmaci, वर्षों बाद ... {Binding string}के समान है {Binding Path=string}। सीधे stringसंपत्ति को इनिशियलाइज़ करने के लिए उपयोग नहीं किया जाता है Path, लेकिन कंस्ट्रक्टर के लिए एक पैरामीटर के रूप में Binding (string path)जो तब Pathप्रॉपर्टी को इनिशियलाइज़ करता है। यह केवल तभी काम करता है जब स्ट्रिंग के बाद पहला टोकन होता है Binding, बाकी नियमित रूप से शुरुआती (संपत्ति = मूल्य जोड़े) होते हैं। यह जानते हुए कि, Binding .समान रूप से प्रभाव में है Binding Path=.और संपत्ति पथ सिंटैक्स यहां उपलब्ध है
मिनट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.