任何人都可以指向我一個很好的資源(或拋出一個線索),告訴我如何在WPF中的DataBinding控件(組合框,列表框等)?當我所有的WinForms優點都從我手中奪走時,我有點不知所措,而且我並不是那麼光明......WPF Databinding
回答
我發現在Windows Client .Net同樣很棒的教程視頻。前段時間,Dot Net Rocks TV也覆蓋了它。
我發現WPF數據綁定的最佳資源是Bea Costa's blog。從第一篇文章開始閱讀。這很棒。
在後面的代碼中 - 將列表框的DataContext設置爲與您綁定的集合相等。
private void OnInit(object sender, EventArgs e)
{
//myDataSet is some IEnumerable
// myListBox is a ListBox control.
// Set the DataContext of the ListBox to myDataSet
myListBox.DataContext = myDataSet;
}
在XAML中,Listbox可以使用「Binding」語法聲明它綁定的屬性。
<ListBox Name="myListBox" Height="200"
ItemsSource="{Binding Path=BookTable}"
ItemTemplate ="{StaticResource BookItemTemplate}"/>
還有一些更多的鏈接,以防萬一上面不足夠了:
Windows Presentation Foundation - Data Binding How-to Topics
- 約30從MSDN「如何做」的文章。
「在本節中的主題描述瞭如何使用數據綁定到從各種在公共語言運行庫(CLR)對象和XML形式的數據源的結合元件,以數據」。
Moving Toward WPF Data Binding One Step at a Time
- 從WPF guru Josh Smith
「這篇文章解釋了WPF數據綁定的絕對基礎知識,它展示瞭如何執行同一個簡單任務的四種不同方式,每一次迭代更接近最緊湊的僅有XAML的實現。沒有WPF數據綁定的經驗。「
這是MSDN的另一個好資源:Data Binding Overview。
有你需要做三件事情:
- 綁定組合框的選項列表的的ItemsSource。
- 將SelectedItem綁定到保存選擇的屬性。
- 將ComboBox.ItemTemplate設置爲ComboBoxItem的DataTemplate。
因此,舉例來說,如果你的數據上下文對象是具有電子郵件地址的人,你要選擇自己的主,你可能有個教學班,這些簽名:
public class EmailAddress
{
public string AddressAsString { get; set; }
}
public class Person
{
public IEnumerable<EmailAddress> EmailAddresses { get; }
public EmailAddress MainEmailAddress { get; set; }
}
然後,你可以創建這樣的組合框:
<ComboBox ItemsSource="{Binding EmailAddresses}" SelectedItem="{Binding MainEmailAddress}">
<ComboBox.ItemTemplate>
<DataTemplate>
<ComboBoxItem Content="{Binding AddressAsString}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
現在,你需要在這兩個Person和EmailAddress的實施INotifyPropertyChanged的。對於EmailAddresses集合,您可以使用ObjservableCollection將其返回。
或者作爲替代方案,您可以使用Update Controls .NET。這是一個替代數據綁定並且不需要INotifyPropertyChanged的開源項目。您可以使用任何有意義的集合來支持EmailAddresses屬性。除了導入UpdateControls.XAML命名空間並將{Binding ...}替換爲{u:Update ...}之外,XAML的工作方式與上述相同。
- 1. WPF DataBinding EntityFramework
- 2. WPF Databinding CheckBox.IsChecked
- 3. GridView Combobox DataBinding WPF
- 4. WPF中的DataBinding?
- 5. WPF treeview selectedItem databinding
- 6. Wpf Combobox DataBinding
- 7. WPF - DataBinding ImageSource
- 8. WPF Datagrid ComboBox DataBinding
- 9. wpf textbox databinding
- 10. DataBinding 2 ComboBoxes wpf
- 11. WPF Databinding Converter .NET
- 12. DataBinding wpf KeyedCollection
- 13. Winrt Wpf databinding
- 14. WPF XML DataBinding
- 15. WPF TreeView Databinding
- 16. WPF DataBinding之間ViewModels
- 17. WPF,WVVM,Databinding和ResourceDictionaries
- 18. WPF DataTrigger/DataBinding失敗?
- 19. 串口WPF ComboBox DataBinding
- 20. Wpf databinding changing datacontext/itemssource
- 21. WPF ListView SelectedItems DataBinding MVVM
- 22. WPF DataBinding不更新?
- 23. WPF Databinding TabItem標題
- 24. C#WPF Databinding DataGrid Slow
- 25. WPF DataBinding驗證被忽略
- 26. WPF:爲DataBinding設計類
- 27. WPF中的父對象DataBinding
- 28. C#WPF - DataBinding RadioButtons不工作
- 29. 幫助DataBinding複選框WPF
- 30. WPF DataBinding不起作用
這些鏈接現在看起來很亂(Windows Client .NET鏈接甚至無法在DNS上解析) – Ortund 2017-07-03 14:59:56