Das hat mich in den letzten zwei Wochen beunruhigt, ich versuche eine Liste zu erstellen, die ich aufrufen kann, um sie in einem WPF-Steuerelement zu verwenden. Ich kann den Code einfach nicht richtig verstehen.Erstellen einer Klasse zum Speichern einer Sammlung für die Datenbindung?
Ich habe Pro C# 5.0 and the .NET 4.5 Framework (Expert's Voice in .NET) und Kapitel 9 hat eine sehr detaillierte Beschreibung dessen, was sie sind und wie Sie sie verwenden. Aber zu meinen kleinen Fehlern kann ich nicht für das Leben von mir tun, was ich versuche zu tun.
Was ich versuche zu tun.
- eine Klasse Erstellen Sie eine Liste von
string
Daten - verwenden, die ein WPF-Steuerelement (in diesem Beispiel ein Kombinationsfeld) aufzufüllen Liste zu halten über Datenbindung.
- extrahieren Sie die aus der Liste ausgewählte Zeichenfolge.
Ich habe eine separate Klasse gemacht, es wird immer nur eine eindimensionale Liste BTW sein.
class CollectionClass
{
public static void ListOfStuff()
{
List<string> Stuff = new List<string>();
Stuff.Add("Stuff1");
Stuff.Add("Stuff2");
Stuff.Add("Stuff3");
Stuff.Add("Stuff4");
}
}
Und meine XAML für ein Kombinationsfeld,
<ComboBox Name="NamesComboBox" Background="Yellow" VerticalContentAlignment="Center" Grid.Row="1" Grid.Column="2" Margin="5"
DisplayMemberPath = "Value" SelectedValuePath="Key"
ItemsSource="{Binding UpdateSourceTrigger=PropertyChanged, Path=Stuff}"
SelectedItem="{Binding UpdateSourceTrigger=PropertyChanged, Path=SelectedStuff}"
Und die Methode aufzurufen,
CollectionClass.ListOfStuff();
Offensichtlich funktioniert dies nicht, so dass ich hoffte, dass jemand mir zeigen könnte in die richtige Richtung. Muss ich die method
in der Main.xaml.cs
anrufen?
Es gibt keine einfache Antwort, weil Ihr Beispiel ist weit weg. Es gibt keinen einzigen Fix, Sie haben keine richtige Bindung, Sie haben kein Viewmodel, Ihre Methode hat keinen Rückgabetyp oder Sie speichern die Liste irgendwo ... Was Sie gerade haben, ist so weit von der Arbeit entfernt, dass ich nicht Ich schlage vor, dass Sie bei diesem Thema von vorne anfangen und ein gutes Buch oder eine Anleitung lesen und ihm folgen. – nvoigt
@nvoigt, es ist in der Frage, ich versuche zu folgen, was in dem Buch Pro C# 5.0 und dem .NET 4.5 Framework (Expert's Voice in .NET) ist. Ich habe so oft von vorne angefangen. Offensichtlich ein Anfänger, aber ich brauche einen Punkt in die richtige Richtung, da ich hier alleine bin. – KyloRen
Ich bin kein Spezialist für XAML, aber Sie sollten wahrscheinlich Stuff der Welt aussetzen;). Jetzt ist es nur innerhalb der ListOfStuff-Funktion vorhanden. – Logman