Qual è l'equivalente di questo nel codice C#?Elementi di rilegatura Origine a livello di codice
<ListView
x:Name="taskItemListView"
DataContext="{Binding SelectedItem, ElementName=itemListView}"
ItemsSource="{Binding taskItems}">
...
</ListView>
Ho provato il seguente codice, ma non sembra funzionare ...
Binding b = new Binding();
b.Path = new PropertyPath("taskItems");
DependencyProperty dp = DependencyProperty.Register("itemsSource", typeof(object), typeof(object), null);
BindingOperations.SetBinding(taskItemListView, dp, b);
Edit:
Sulla base di @ sa_ddam213 risposta, questo ha funzionato:
Binding dataContextBinding = new Binding();
dataContextBinding.Path = new PropertyPath("SelectedItem");
dataContextBinding.Source = itemListView;
BindingOperations.SetBinding(taskItemListView, ListView.DataContextProperty, dataContextBinding);
Binding sourceBinding = new Binding();
sourceBinding.Path = new PropertyPath("taskItems");
BindingOperations.SetBinding(taskItemListView, ListView.ItemsSourceProperty, sourceBinding);
Grazie, fa miracoli! Solo 2 correzioni minori: la classe Binding ha un solo costruttore che non accetta argomenti e scopre che non era necessario impostare la seconda fonte di Binding. Ho modificato la mia domanda. – dcastro
Binding funziona con un argomento di stringa, utilizzandolo ora in un progetto .NET4.0, collegamento: http://msdn.microsoft.com/en-us/library/system.windows.data.binding.aspx –
Non attivo un'app WinRT: http://msdn.microsoft.com/en-us/library/windows/apps/br209820.aspx#constructors. – dcastro