2010-12-02 16 views
21

पर डब्ल्यूपीएफ पास पैरेंट बाइंडिंग ऑब्जेक्ट पास करें मेरे पास आइटम कंट्रोल है जो छात्र प्रकार के संग्रह के लिए बाध्य है। आइटम टेम्पलेट के अंदर मेरे पास एक टेक्स्टबॉक्स है जो कुछ कस्टम गणना और तर्क करने के लिए IValueConverter का उपयोग करता है। मैं वास्तविक छात्र ऑब्जेक्ट को मूल्य कनवर्टर पर पास करना चाहता हूं, इसके बजाय इसकी एक संपत्ति। मैं उसे कैसे कर सकता हूँ? यहां मेरे कोड का एक नमूना है।कनवर्टर

<ItemsControl ItemsSource="{Binding StudentList}"> 
          <ItemsControl.ItemTemplate> 
           <DataTemplate> 
            <TextBlock Text="{Binding Name}" /> 
            <TextBlock Text="{Binding ????, Converter={StaticResource MyConverter}}" /> 
           </DataTemplate> 
          </ItemsControl.ItemTemplate> 
</ItemsControl> 

कोड में मैं इस

public class MyValueConverter : IValueConverter 
{ 
     public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
     { 
      // I want 'value' to be of type Student. 
      return null; 
     } 
} 

उत्तर

34

तुम बस मार्ग को छोड़ सकते हैं। इस तरह आप वास्तविक वस्तु से जुड़ा हुआ है।

<TextBlock Text="{Binding Converter={StaticResource MyConverter}}"/> 

या अगर आप इसके बारे में स्पष्ट होना चाहता हूँ:

<TextBlock Text="{Binding Path=., Converter={StaticResource MyConverter}}"/> 
+3

धन्यवाद, मैं जाकर अब अपने आप को शर्मिंदा हूँ। –

+2

वैसे यह तुरंत स्पष्ट नहीं है। यदि यह मदद करता है तो आप इसे उत्तर के रूप में चिह्नित कर सकते हैं। :) वैसे, {बाध्यकारी पथ =।} का उपयोग करके आप एक ही परिणाम प्राप्त करते हैं। – Botz3000

+0

मुझे इसे स्वीकार करने से 9 मिनट पहले इंतजार करना पड़ा :) –

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