Enlace de diccionario <string, List <customObject>> a ListBox en WPF

tengo unDictionary<string, List<WritingMachine>> donde la clave es el nombre de host de una máquina que escribe en un servidor, y el valor es una lista de objetos WritingMachine (que se muestra a continuación):

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

Estoy tratando de vincular el diccionario a un WPF ListBox; mostrando el nombre de host (la clave del diccionario) y un resumen deWritingMachine lista que está asociada con esa clave.

Tengo problemas para acceder a las propiedades del individuo.WritingMachine elementos dentro de la lista.

Aquí está mi XAML hasta ahora:

<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>

Esto da como resultado un cuadro de lista que se ve así:

Obviamente esto está mal porque elWritingMachine los elementos de la lista solo devuelven el valor predeterminadoToString. Al anularWritingMachine'sToString Puedo obtener el efecto que quiero (más o menos):

Pero esta es una manera horrible de hacerlo ... Quiero poder acceder a las propiedades de los elementos individuales y organizarlas en controles en miListBox.ItemTemplate utilizandoContent="{Binding Value.Server}" o similar.

¿Algunas ideas?

Respuestas a la pregunta(2)

Su respuesta a la pregunta