La liaison à DataGridComboBoxColumn de la collection
-
19-09-2019 - |
Question
Essayer de se lier à une collection en WPF, je suis arrivé ce qui suit au travail:
XAML:
<toolkit:DataGrid Name="dgPeoples"/>
CS:
namespace DataGrid
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1
{
private readonly ObservableCollection<Person> personList = new ObservableCollection<Person>();
public Window1()
{
InitializeComponent();
personList.Add(new Person("George", "Jung"));
personList.Add(new Person("Jim", "Jefferson"));
personList.Add(new Person("Amy", "Smith"));
dgPeoples.ItemsSource = personList;
}
}
}
unnessecary probablement mais voici la classe Person:
namespace DataGrid
{
public class Person
{
public string fName { get; set; }
public string lName { get; set; }
public Person(string firstName, string lastName)
{
fName = firstName;
lName = lastName;
}
}
}
Mais ce que je vraiment besoin est-ce dans l » DataGridComboBoxColumn . Voici mes révisions:
XAML:
<toolkit:DataGrid Name="dgPeoples" Grid.Row="0" AutoGenerateColumns="False">
<toolkit:DataGrid.Columns>
<toolkit:DataGridComboBoxColumn Width="5*"/>
<toolkit:DataGridComboBoxColumn Width="5*"/>
</toolkit:DataGrid.Columns>
</toolkit:DataGrid>
C #:
Stays même.
Problème est maintenant que je reçois vides colonnes de combobox! Toute idée comment je peux obtenir ce travail?
À long terme, j'ai besoin 2 voies de liaison, où un double clic sur la colonne de prenom ouvre la boîte de comobo qui détient alors les options de tous les prénoms possibles dans la collection (c.-à-George, Jim et Amy).
Grateful toute assistance!
La solution
Je voulais juste vous indiquer une des meilleures références en matière de la boîte à outils WPF DataGrid, il vient de
Autres conseils
Le DataGrid doit avoir les propriétés de Header
et ItemsSource
définis:
<toolkit:DataGrid Name="dgPeoples" Grid.Row="0" AutoGenerateColumns="False">
<toolkit:DataGrid.Columns>
<toolkit:DataGridComboBoxColumn Width="5*"
Header="First Name"
ItemsSource="{Binding Path=fName}"/>
<toolkit:DataGridComboBoxColumn Width="5*"
Header="First Name"
ItemsSource="{Binding Path=lName}"/>
</toolkit:DataGrid.Columns>
</toolkit:DataGrid>
Il semble qu'il y était en cause dans l'une des versions de la boîte à outils lors de l'utilisation du DataGridComboBoxColumn.ItemsSource
: DataGridComboBoxColumn.ItemsSource ne fonctionne pas .
Cependant, il y avait un travail autour créé pour Utilisation noreferrer zones de liste déroulante avec le DataGrid WPF. Enfin, vous pouvez jeter un oeil à l'article Plus d'amusement avec DataGrid par Margaret Parsons, ainsi.
Modifier Maintenant, je ne suis pas sûr que le code ci-dessus fonctionne. Je l'ai fait de la mémoire et d'autres liens référencent les ressources.
Jetez un oeil à ce poste SO qui semble résoudre ce problème: problème de liaison DataGridComboBoxColumn.ItemsSource