2010-12-21 16 views
1

Ich habe einen WCF-Dienst, der eine List<KeyValuePair<long, string>> zurückgibt - ich muss dies an eine DisplayMemberPath und die SelectedValuePath binden, weiß jemand, wie ich an den Schlüssel und den Wert binden könnte? goink Ich glaube, ich habe noch nie in diese vor laufen ...wie an eine Liste von Schlüsselwertpaaren binden

Dank

+0

Upps - Die Frage von HTML-Codierung oder etwas habe vermasselt ... Ich erhalte eine Liste der KeyValuePairs ... zurück Und ja, wenn ich eine gute Antwort erhalten werde ich es als die akzeptierte Antwort markieren. – Kenn

+0

Zwei Dinge, die geklärt werden müssen: Ist dies ein WinForms- oder WPF-Steuerelement, an das Sie gebunden sind, und welche Kontrolle stellt diese Pfadeigenschaften bereit? –

+0

Ich nehme an, die Schlüssel sind nicht eindeutig, also verwenden Sie kein 'Dictionary '? –

Antwort

3

Hallo, wenn jemand fragt, dies ein zweistufiger Prozess war ...

1) Ich habe die Liste ein umgewandelt beobachtbaren Sammlung

public ObservableCollection<KeyValuePair<long, string>> Companies 
{ 
    get; 
    private set; 
} 

1.a) im ctor ich es so bevölkert ...

using (var client = new CompanyBusinessClient()) 
    { 
    Companies = new ObservableCollection<KeyValuePair<long, string>>(client.GetCompanyList(new List<long>() { 2 })); 
    } 

2) in der XAML ich ein Listenfeld erstellt

<ListBox Height="24" Width="200" x:Name="ItemsListBox" Grid.Row="0" 
     ItemsSource="{Binding Path=Companies}" 
     DisplayMemberPath="Value" 
     SelectedValuePath="Key" 
     SelectedItem="{Binding Path=Company}"> 
    </ListBox> 

, die tatsächlich arbeitete, war die Idee, eine Dropdown-Liste zu erstellen, aber dann für einige Leute meinen Chef gesprochen und sie beschlossen, sie nicht, dass die Fähigkeit, sich auf das brauchte Ansicht zuckt was, wenn jemand jemals selbst in einer ähnlichen Position findet vielleicht wird dies dazu beitragen.

Verwandte Themen