Member 10508000 Ответов: 1

Хотите удалить лишнее пространство из круговой диаграммы в WPF, но хотите сохранить легенду


У меня есть круговая диаграмма в моем приложении WPF.
Я пытаюсь удалить лишнее пространство и границу вокруг диаграммы, используя свойство style.

Я могу удалить пространство, но в то же время легенда также удаляется, но я хочу, чтобы легенда была видна.

Что я уже пробовал:

<chartingToolkit:Chart.Template>
                            <ControlTemplate TargetType="chartingToolkit:Chart">
                                <Border Background="{TemplateBinding Background}" BorderBrush="Transparent" BorderThickness="0" >
                                    <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.LegendStyle>
                            <Style x:Name="LegendHideStyle" TargetType="Control">
                                <Setter Property="Width" Value="0"/>
                                <Setter Property="Height" Value="0"/>
                            </Style>
                        </chartingToolkit:Chart.LegendStyle>

1 Ответов

Рейтинг:
8

Member 10508000

xmlns:chartingprimitives="clr-пространство имен:System.Окна.Управления.DataVisualization.Картирование.Примитивы;сборка=Система.Окна.Управления.DataVisualization.Набор инструментов"
xmlns:visualizationToolkit="clr-пространство имен:System.Окна.Управления.DataVisualization;assembly=System.Окна.Управления.DataVisualization.Набор инструментов"

<chartingToolkit:диаграмма.PlotAreaStyle>
<Style TargetType="сетка">
&ЛТ;собственность сеттер="фонового" значения="прозрачный"/&ГТ;
</стиль>
</chartingToolkit:диаграмма.PlotAreaStyle>

<chartingToolkit:диаграмма.LegendStyle>
<Style TargetType="visualizationToolkit:Legend">

&ЛТ;собственность сеттер="ширина" значение="авто"/&ГТ;
&ЛТ;собственность сеттер="Высота" значение="авто"/&ГТ;
<Setter Property="BorderBrush" Value="Transparent"/>
&ЛТ;собственность сеттер="фонового" значения="прозрачный"/&ГТ;
&ЛТ;сеттер собственности="видимость" значение="видимый"/&ГТ;

</стиль>
</chartingToolkit:диаграмма.LegendStyle>

<chartingToolkit:диаграмма.Стиль>
<Style TargetType="chartingToolkit:Chart">
<Setter Property="шаблон">
<сеттер.Значение>
<ControlTemplate TargetType="chartingToolkit:Chart">
<Border Background="{TemplateBinding Background}" BorderBrush="Transparent" BorderThickness="0" Padding="0">
<сетка>
<сетка.RowDefinitions>
<RowDefinition Height="0" />
<RowDefinition Height="*" />
</сетка.RowDefinitions>

&ЛТ;visualizationToolkit:контент заголовок="{TemplateBinding название}" Тип="{TemplateBinding TitleStyle}" /&ГТ;

<!-- Используйте вложенную сетку, чтобы избежать возможного поведения отсечения, возникающего в результате ColumnSpan+Width=Auto -->
<Grid Grid.Row="1" Margin="0,5,0,5">
<сетка.ColumnDefinitions>
<ColumnDefinition Width="70*" />
<ColumnDefinition Width="30*" />
</сетка.ColumnDefinitions>

<visualizationToolkit:Legend x:Name="Legend" Style="{TemplateBinding LegendStyle}" Grid.Колонка="1" />

<chartingprimitives:EdgePanel x:Name="ChartArea" Style="{TemplateBinding ChartAreaStyle}" Grid.Столбец="0">
<сетка холста.ZIndex="-1" Style="{TemplateBinding PlotAreaStyle}" />
<!--<пограничный холст.ZIndex="10" BorderBrush="#FF919191" BorderThickness="1" />-->
</chartingprimitives:EdgePanel>

</сетка>
</сетка>
</граница>
</ControlTemplate>
</сеттер.Значение>
</сеттер>
</стиль>
</chartingToolkit:диаграмма.Стиль>