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!

War es hilfreich?

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

scroll top