2012-12-16 11 views
6

सी # कोड में इसके बराबर क्या है?बाइंडिंग आइटमसोर्स प्रोग्रामेटिक रूप से

<ListView 
    x:Name="taskItemListView" 
    DataContext="{Binding SelectedItem, ElementName=itemListView}" 
    ItemsSource="{Binding taskItems}"> 
... 
</ListView> 

मैं निम्नलिखित कोड की कोशिश की है, लेकिन यह काम करने के लिए प्रतीत नहीं होता ...

Binding b = new Binding(); 
b.Path = new PropertyPath("taskItems"); 

DependencyProperty dp = DependencyProperty.Register("itemsSource", typeof(object), typeof(object), null); 
BindingOperations.SetBinding(taskItemListView, dp, b); 

संपादित:

@ sa_ddam213 के जवाब के आधार पर, इस काम किया:

उत्तर

4

इस तरह कुछ कुछ काम करना चाहिए:

BindingOperations.SetBinding(taskItemListView, ListView.DataContextProperty, new Binding("SelectedItem") { Source = itemListView}); 
BindingOperations.SetBinding(taskItemListView, ListView.ItemsSourceProperty, new Binding("taskItems") { Source = this }); 

नोट: यहाँ पर

taskItemListView.SetValue(ListView.ItemsSourceProperty, this.Source); 

अधिक जानकारी: "स्रोत = इस" this वर्ग कि taskItems रखा है, SelectedItem

+0

धन्यवाद, यह चमत्कार करता है! केवल 2 मामूली सुधार: कक्षा बाध्यकारी में केवल एक कन्स्ट्रक्टर है जो कोई तर्क नहीं लेता है, और यह पता चला कि दूसरे बाध्यकारी के स्रोत को सेट करने की आवश्यकता नहीं थी। मैंने अपना प्रश्न संपादित कर लिया है। – dcastro

+0

बाध्यकारी एक स्ट्रिंग तर्क के साथ काम करता है, अब इसे .NET4.0 प्रोजेक्ट में उपयोग करके, लिंक: http://msdn.microsoft.com/en-us/library/system.windows.data.binding.aspx –

+0

चालू नहीं है एक विनआरटी ऐप: http://msdn.microsoft.com/en-us/library/windows/apps/br209820.aspx#constructors। – dcastro

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