Die Bindung an DataGridComboBoxColumn aus der Sammlung
-
19-09-2019 - |
Frage
Der Versuch zu einer Sammelstelle in WPF zu binden, habe ich folgendes zu arbeiten:
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;
}
}
}
unnötige wahrscheinlich aber hier ist Klasse 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;
}
}
}
Aber was ich wirklich brauchen, ist dies in DataGridComboBoxColumn ‚s. Hier sind meine Überarbeitungen:
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 #:
Aufenthalte gleich.
Problem ist jetzt, dass ich leer Combobox Spalten erhalten! Alle Ideen, wie kann ich dies funktioniert?
Auf lange Sicht muss ich 2-Wege-Bindung, wobei ein Doppelklick auf die Vorname Spalte die comobo Box bringt, die dann die Optionen aller möglichen Vornamen in der Sammlung (zB George, Jim und Amy) hält.
Grateful jede Hilfe!
Lösung
Ich wollte Ihnen nur der beste Hinweis auf einen zeigen, wenn es um die WPF Toolkit Datagrid kommt, es kommt von
Andere Tipps
Das Datagrid muss die Header
und ItemsSource
Eigenschaften festgelegt hat:
<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>
Es erscheint in der Ausgabe dort in einer der Versionen des Toolkits war, als die DataGridComboBoxColumn.ItemsSource
mit: DataGridComboBoxColumn.ItemsSource funktioniert nicht .
Es gab jedoch eine Behelfslösung a href erstellt für <= "http://joemorrison.org/blog/2009/02/17/excedrin-headache-35401281-using-combo-boxes-with-the- wpf-Datagrid /“rel = "nofollow noreferrer"> mit Combo-Boxen mit dem WPF-Datagrid . Schließlich können Sie in dem Artikel einen Blick nehmen wollen Mehr Spaß mit Datagrid von Margaret Parsons als auch.
Bearbeiten
Jetzt bin ich nicht so sicher, dass der obige Code funktioniert. Ich habe das aus dem Speicher und verweisen die anderen Verbindungen als Ressourcen.
Werfen Sie einen Blick auf diese SO Post, die Lösung dieses Problems erscheint: Problem Bindung DataGridComboBoxColumn.ItemsSource