Может ли кто-нибудь указать мне хороший ресурс (или бросить мне ключ), чтобы показать мне, как сделать DataBinding для элементов управления (ComboBox, ListBox и т. Д.) В WPF? Я немного потерял, когда все мои стили 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 может объявлять, какие свойства он связывает с использованием синтаксиса «Связывание».
<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 гуру Josh Smith
В этой статье объясняются абсолютные основы привязки данных WPF. В ней показаны четыре разных способа выполнения одной и той же простой задачи. Каждая итерация приближается к самой компактной реализации XAML. Эта статья предназначена для людей с нет опыта в привязке данных WPF ».
Вот еще один хороший ресурс от MSDN: Data Binding Overview.
Есть три вещи, которые нужно сделать:
- Свяжите ItemsSource из ComboBox в списке опций.
- Привяжите выбранный элемент к свойству, которое содержит выделение.
- Установите ComboBox.ItemTemplate в DataTemplate для ComboBoxItem.
Так, например, если контекст данных объект является лицом, адрес электронной почты, и вы хотите, чтобы выбрать их первичные, вы могли бы иметь классы с этими подписями:
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>
Теперь вам нужно реализовать INotifyPropertyChanged как в личности и EmailAddress. Для коллекции EmailAddresses вы можете вернуть ее с помощью ObjservableCollection.
Или в качестве альтернативы вы можете использовать Update Controls .NET. Это проект с открытым исходным кодом, который заменяет привязку данных и не требует INotifyPropertyChanged.Вы можете использовать любую коллекцию, чтобы вернуть свойство EmailAddresses. XAML работает так же, как и выше, за исключением того, что вы импортируете пространство имен UpdateControls.XAML и заменяете {Binding ...} на {u: Update ...}.
- 1. Databinding WPF
- 2. wpf databinding timing issue
- 3. WPF DataBinding с конструктором
- 4. WPF DataBinding Design вопрос
- 5. WPF Height Databinding question
- 6. C# WPF - ComboBox DataBinding
- 7. Пользовательский контроль DataBinding wpf
- 8. Wpf treeview selectedItem databinding
- 9. WPF Databinding в XAML
- 10. WPF ListBox Databinding & Events
- 11. Databinding with WPF
- 12. WPF Datagrid ComboBox DataBinding
- 13. WPF DataBinding Валидация игнорируется
- 14. WPF: Databinding с DataGridComboBoxColumn
- 15. WPF Databinding не обновляется
- 16. WPF - Databinding Issue
- 17. WPF TabControl Databinding
- 18. DataViewer databinding (WPF)
- 19. WPF databinding очень медленно
- 20. WPF Databinding performance
- 21. WPF Обновление DataBinding
- 22. WPF Datagrid DataBinding DataView
- 23. WPF DataBinding не работает
- 24. GridView Combobox DataBinding WPF
- 25. WPF Databinding CheckBox.IsChecked
- 26. Сами основы WPF Databinding
- 27. WPF DataBinding не обновляется?
- 28. WPF Databinding intellisense
- 29. WPF XML DataBinding
- 30. DataBinding 2 ComboBoxes wpf
эти ссылки, кажется, теперь тарабарщины (ссылка Windows Client .NET даже не разрешает DNS) – Ortund 2017-07-03 14:59:56