Binding Dictionary <string, List <customObject >> zu ListBox in WPF

Ich habe einDictionary<string, List<WritingMachine>> wobei der Schlüssel der Hostname eines Computers ist, der auf einen Server schreibt, und der Wert eine Liste von WritingMachine-Objekten ist (siehe unten):

public class WritingMachine
{
    public string HostName { get; set; }
    public string Program { get; set; }
    public string Login { get; set; }
    public string Server { get; set; }
}

Ich versuche, das Wörterbuch an eine WPF-ListBox zu binden. Anzeigen des Hostnamens (des Wörterbuchschlüssels) und einer Zusammenfassung desWritingMachine Liste, die diesem Schlüssel zugeordnet ist.

Ich habe Probleme beim Zugriff auf die Eigenschaften der einzelnenWritingMachine Elemente in der Liste.

Hier ist meine XAML:

<ListBox x:Name="MachineListBox" Margin="10" Grid.Column="0" FontFamily="Consolas" ItemsSource="{Binding Path=MachineDictionary}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Vertical" Margin="5">
                <ContentPresenter Content="{Binding Key}" Margin="0,0,4,0"/>
                <ItemsControl ItemsSource="{Binding Value}" Margin="10,0,0,0">
                    <ItemsControl.ItemsPanel>
                        <ItemsPanelTemplate>
                            <StackPanel Orientation="Vertical" />
                        </ItemsPanelTemplate>
                    </ItemsControl.ItemsPanel>
                </ItemsControl>
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

Dies führt zu einer Listbox, die so aussieht:

ffensichtlich ist das falsch, weil dieWritingMachine Listenelemente geben nur das Standard-@ zurüToString. Durch Überschreiben vonWritingMachine 'sToString Ich kann den gewünschten Effekt erzielen (mehr oder weniger):

Aber das ist ein Mist ... Ich möchte in der Lage sein, auf die einzelnen Elementeigenschaften zuzugreifen und sie in Steuerelementen in meinem @ anzuordneListBox.ItemTemplate usingContent="{Binding Value.Server}" o.ä

Irgendwelche Ideen

Antworten auf die Frage(4)

Ihre Antwort auf die Frage