¿Alguien me puede indicar un buen recurso (o arrojarme una pista) para mostrarme cómo hacer DataBinding a los controles (ComboBox, ListBox, etc.) en WPF? Estoy un poco perdido cuando me quitan todas las bondades de WinForms, y no soy tan brillante para empezar ...WPF Databinding
Respuesta
Encuentro los videos tutoriales en Windows Client .Net igualmente asombrosos. Dot Net Rocks TV también lo ha cubierto hace algún tiempo.
El mejor recurso que he encontrado para el enlace de datos WPF es Bea Costa's blog. Comience desde la primera publicación y lea hacia adelante. Es impresionante.
en el código subyacente: configure el DataContext de su cuadro de lista igual a la colección a la que se está vinculando.
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;
}
En XAML, Listbox puede declarar a qué propiedades se une utilizando la sintaxis "Binding".
<ListBox Name="myListBox" Height="200"
ItemsSource="{Binding Path=BookTable}"
ItemTemplate ="{StaticResource BookItemTemplate}"/>
y algunos más enlaces, por si acaso lo anterior no fue suficiente:
Windows Presentation Foundation - Data Binding How-to Topics
- Aprox 30 'cómo' los artículos de MSDN.
"Los temas de esta sección describen cómo utilizar los datos de unión para unir elementos a los datos de una variedad de fuentes de datos en forma de objetos y XML (CLR) común tiempo de ejecución idioma."
Moving Toward WPF Data Binding One Step at a Time
- Por WPF gurú Josh Smith
"Este artículo explica los principios básicos del enlace de datos WPF. Muestra cuatro maneras diferentes de cómo realizar la misma tarea simple. Cada iteración se acerca a la implementación más compacta posible, solo XAML. Este artículo es para personas con ninguna experiencia en el enlace de datos de WPF ".
Aquí hay otro buen recurso de MSDN: Data Binding Overview.
Hay tres cosas que hay que hacer:
- Enlace el ItemsSource del ComboBox a la lista de opciones.
- Enlaza el elemento seleccionado a la propiedad que contiene la selección.
- Establezca el ComboBox.ItemTemplate en un DataTemplate para un ComboBoxItem.
Así, por ejemplo, si el objeto de contexto de datos es una persona que tenga direcciones de correo electrónico, y que desea elegir su primaria, es posible que tenga clases con estas firmas:
public class EmailAddress
{
public string AddressAsString { get; set; }
}
public class Person
{
public IEnumerable<EmailAddress> EmailAddresses { get; }
public EmailAddress MainEmailAddress { get; set; }
}
entonces se podría crear el cuadro combinado de esta manera:
<ComboBox ItemsSource="{Binding EmailAddresses}" SelectedItem="{Binding MainEmailAddress}">
<ComboBox.ItemTemplate>
<DataTemplate>
<ComboBoxItem Content="{Binding AddressAsString}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
Ahora tiene que aplicar INotifyPropertyChanged tanto en persona y EmailAddress. Para la colección EmailAddresses, puede respaldarlo con ObjservableCollection.
O como alternativa puede usar Update Controls .NET. Este es un proyecto de código abierto que reemplaza el enlace de datos y no requiere INotifyPropertyChanged.Usted puede usar cualquier colección tiene sentido para respaldar la propiedad EmailAddresses. El XAML funciona igual que el anterior, excepto que se importa el espacio de nombres UpdateControls.XAML y sustituir {...} La unión con {U: Actualización ...}.
- 1. WPF DataGrid RowHeader databinding
- 2. WPF Databinding intellisense
- 3. WPF Databinding stackpanel
- 4. WPF TabControl Databinding
- 5. WPF Databinding CheckBox.IsChecked
- 6. WPF GroupBox HeaderTemplate y DataBinding
- 7. WPF Databinding With A Collection Objeto
- 8. WPF DataBinding con operación aritmética simple?
- 9. WPF usando MVVM: DataBinding con RelativeSource
- 10. DependencyProperty and DataBinding?
- 11. WPF Treeview Databinding Hierarchal Datos con tipos mixtos
- 12. WPF Databinding: capturas de excepciones lanzadas por getters de propiedad
- 13. Mejores prácticas para usar Entity Framework con WPF DataBinding
- 14. Clase de Diccionario Observable General para DataBinding/WPF C#
- 15. WPF DataBinding: cambio de propiedad cancelado: cuadro combinado no coincide
- 16. Wpf DataGrid ocultar fila completa a través de DataBinding
- 17. Parece que no puede obtener WPF DataBinding en mi cabeza
- 18. WPF - databinding to a property of same control
- 19. WPF DataBinding: ¿Nullable Int todavía obtiene un error de validación?
- 20. checkbox databinding
- 21. DataBinding Aflicciones
- 22. Debugging XAML databinding en Visual Studio 2012
- 23. UpdatePanel, Repeater, DataBinding Problema
- 24. ASP.NET CheckBoxList DataBinding Pregunta
- 25. Suspend Databinding of Controls
- 26. ComboBox DataBinding causa ArgumentException
- 27. Databinding a Custom Control
- 28. DataBinding a WinForm
- 29. C# Tutorial de DataBinding
- 30. Winforms, databinding, Listbox y textbox
estos enlaces parecen ser galimatías ahora (el enlace de cliente de Windows .NET ni siquiera resolver el DNS más) – Ortund