Con el fin de lograr esto es necesario para volver a la tabla de plantilla. La plantilla de la carta estándar es la siguiente:
<ControlTemplate TargetType="charting:Chart">
<Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<datavis:Title Content="{TemplateBinding Title}" Style="{TemplateBinding TitleStyle}" />
<!-- Use a nested Grid to avoid possible clipping behavior resulting from ColumnSpan+Width=Auto -->
<Grid Grid.Row="1" Margin="0,15,0,15">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<datavis:Legend x:Name="Legend" Title="{TemplateBinding LegendTitle}" Style="{TemplateBinding LegendStyle}" Grid.Column="1" />
<chartingprimitives:EdgePanel x:Name="ChartArea" Style="{TemplateBinding ChartAreaStyle}">
<Grid Canvas.ZIndex="-1" Style="{TemplateBinding PlotAreaStyle}" />
<Border Canvas.ZIndex="10" BorderBrush="#FF919191" BorderThickness="1" />
</chartingprimitives:EdgePanel>
</Grid>
</Grid>
</Border>
</ControlTemplate>
Esto detalla la ubicación del área de trazado, título, leyenda, etc ... También incluyó un margen no modificable en todo el área de trazado, por lo que no puede lograr lo que están detrás simplemente por diseñar la tabla. Si lo que desea es un área del gráfico y nada más, puede simplificar la plantilla de gráfico de la siguiente manera:
xmlns:chartingprimitives="clr-namespace:System.Windows.Controls.DataVisualization.Charting.Primitives;assembly=System.Windows.Controls.DataVisualization.Toolkit"
<Grid>
<chartingToolkit:Chart x:Name="chart" Width="500" Height="300"
Margin="0, 0, 0, 0" Padding="0">
<chartingToolkit:AreaSeries ItemsSource="{Binding}"
DependentValuePath="Value"
IndependentValuePath="Key"
Background="Red">
</chartingToolkit:AreaSeries>
<chartingToolkit:Chart.Axes>
<chartingToolkit:LinearAxis Orientation="X" ShowGridLines="False" Height="0">
</chartingToolkit:LinearAxis>
<chartingToolkit:LinearAxis Orientation="Y" ShowGridLines="False" Width="0"/>
</chartingToolkit:Chart.Axes>
<chartingToolkit:Chart.Template>
<ControlTemplate TargetType="chartingToolkit:Chart">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}">
<Grid>
<chartingprimitives:EdgePanel x:Name="ChartArea" Style="{TemplateBinding ChartAreaStyle}">
<Grid Canvas.ZIndex="-1" Style="{TemplateBinding PlotAreaStyle}" />
<Border Canvas.ZIndex="10" BorderBrush="#FF919191" BorderThickness="1" />
</chartingprimitives:EdgePanel>
</Grid>
</Border>
</ControlTemplate>
</chartingToolkit:Chart.Template>
</chartingToolkit:Chart>
</Grid>
Esto eliminará el relleno que usted está viendo.
Gracias por el ejemplo. Cuando agrego contenido, funciona pero el gráfico no aparece. ¿Alguna idea de hacer que funcione? –
Ooops ... parece que fui demasiado agresivo al cortar partes de la plantilla. He editado mi respuesta anterior. Tenga en cuenta que el gráfico ahora tiene relleno cero y los ejes tienen anchos/alturas cero. – ColinE
Muchas gracias ... Esto resolvió mi problema –