Autor Beitrag
Schnippet
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Fr 20.03.09 10:40 
Ich suche für WPF soetwas wie ein Feld, mit einer Pickfunktion. D.h. wenn ich auf einen Button klicke soll eine zuvor definierte Auswahl von Daten (z.B. Stammdaten) angeboten werden, aus denen ich dann einen DS (z.B. eine Kunden-ID) auswählen kann. Das Feld soll dann den zuvor definierten Rückgabewert beinhalten (also z.B. ein Kunden-ID). Gibts sowas schon, oder muss man das selbst neu erfinden?

Danke
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Fr 20.03.09 12:34 
Das kannst Du mit einer ObservableCollection und z.B. einer ListBox erreichen. Du brauchst dazu eine generische ObservableCollection, die Du an den DataContext einer ListBox bindest und dort die Elemente darstellen lässt:
ausblenden XML-Daten
1:
<ListBox ItemsSource="{Binding}" IsSynchronizedWithCurrentItem="True" Name="myListBox/>					

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
public void ButtonClick()
{
  //list sollte irgendwo zentral deklariert sein, damit Du später wieder darauf zugreifen kannst
  list = new ObservableCollection<IrgendeinTyp>();
  //fülle die Liste in einer Schleife
  //...
  myListBox.DataContext = list;
}

//Dies ist die Methode, in der Du das aktuell selektierte Element ausliest
public void AssignSelectedItem()
{
  ICollectionView view = CollectionViewSource.GetDefaultView(list);
  IrgendeinTyp selectedItem = view.CurrentItem as IrgendeinTyp;
}

Hab das jetzt mal aus dem Kopf abgeschrieben, aber die Richtung sollte stimmen. Für die CollectionView-Sache musst Du noch zwei Namespaces einbinden, aber das sagt Dir VS ja ;)

Hoffe, das hilft Dir weiter.
Schnippet Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Fr 20.03.09 12:42 
Hallo Uwe,

danke für die Rückmeldung. Ich denke das hilft erstmal weiter, hatte nur gehofft, dass es so ein Tool evtl. schon zum Download gibt.


Gruß

Stefan