Cambiar el diseño de elementos de la leyenda del gráfico de Silverlight

Estoy trabajando en la personalización del diseño de un gráfico de Silverlight Toolkit. Tengo dos requisitos:

1) Mueva el área de Leyenda a la parte inferior del gráfico (resuelto).

2) cambiar el diseño de los elementos dentro de la leyenda para que se muestren uno al lado del otro, es decir. {leyenda 1}, {leyenda 2}, {leyenda 3}, en lugar del formato de columna predeterminado.


1) fue fácil de resolver con un ControlTemplate (ver más abajo).

2) ¿Cómo cambio el diseño de los elementos de leyenda? ¿Se puede hacer personalizando aún más la plantilla de control del gráfico, o la leyenda necesita su propia plantilla de control?

El gráfico en sí se define como:

<chartingToolkit:Chart Name="chartCompareMain" 
                       Template="{StaticResource ChartLayoutLegendBottom}">
        <chartingToolkit:Chart.Axes>
             <chartingToolkit:DateTimeAxis Orientation="X" 
                        AxisLabelStyle="{StaticResource ChartDateFormat}">
             </chartingToolkit:DateTimeAxis>
             <chartingToolkit:LinearAxis  Orientation="Y"/>
        </chartingToolkit:Chart.Axes>
</chartingToolkit:Chart>    

La plantilla ControlTemplate para mover los elementos de leyenda (según la plantilla predeterminada) es:

<ControlTemplate x:Key="ChartLayoutLegendBottom" TargetType="chartingToolkit:Chart">
        <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto" />
                    <RowDefinition Height="*" />
                    <RowDefinition Height="Auto" />
                </Grid.RowDefinitions>
                <dataviz:Title Grid.Row="0" Content="{TemplateBinding Title}" Style="{TemplateBinding TitleStyle}" />
                <Grid Grid.Row="1" Margin="0,15,0,15">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                    </Grid.ColumnDefinitions>
                    <chartingprimitives:EdgePanel x:Name="ChartArea" Style="{TemplateBinding ChartAreaStyle}" Grid.Column="0" >
                        <Grid Canvas.ZIndex="-1" Style="{TemplateBinding PlotAreaStyle}" />
                        <Border Canvas.ZIndex="10" BorderBrush="#FF919191" BorderThickness="1" />
                    </chartingprimitives:EdgePanel>
                </Grid>
                <dataviz:Legend x:Name="Legend" Header="{TemplateBinding LegendTitle}" Style="{TemplateBinding LegendStyle}" Grid.Row="2"/>
            </Grid>
        </Border>
    </ControlTemplate>

Respuestas a la pregunta(2)

Su respuesta a la pregunta