2010-08-29 2 views
8

Я использую элемент управления Chart для выпуска WPF Toolkit в феврале 2010 года. Диаграмма занимает много места относительно площади участка.Изменение поля вокруг участка и заголовка в таблице WPF Toolkit

Как контролировать маржу вокруг области графика и названия диаграммы. Таким образом, я могу организовать 10 диаграмм, которые мне нужны в сетке, не используя столько места на экране.

Thanks,

спрайт.

ответ

9

Я нашел ответ на аналогичный вопрос в дискуссионных досках WPF Toolkit и подумал, что поделюсь знаниями.

Единственное решение, которое доступно в настоящее время, - это стиль диаграммы. Поэтому в основном я взял исходное определение стиля из исходного кода набора инструментов, и я изменил его, чтобы удовлетворить мои потребности. Я также использовал это, чтобы полностью удалить легенду.

<Grid.Resources> 
    <!-- chart style modified from WPFToolkit\DataVisualization\Themes\generic.xaml --> 
    <Style TargetType="charts:Chart"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="charts:Chart"> 
        <Grid> 
         <Grid.RowDefinitions> 
          <RowDefinition Height="Auto" /> 
          <RowDefinition Height="*" /> 
         </Grid.RowDefinitions> 
         <dataVis:Title Content="{TemplateBinding Title}" Style="{TemplateBinding TitleStyle}" Margin="1"/> 
         <!-- Use a nested Grid to avoid possible clipping behavior resulting from ColumnSpan+Width=Auto --> 
         <Grid Grid.Row="1" Margin="5,0,5,0"> 
          <Grid.ColumnDefinitions> 
           <ColumnDefinition Width="*" /> 
           <ColumnDefinition Width="Auto" /> 
          </Grid.ColumnDefinitions> 
          <chartPrmtvs:EdgePanel x:Name="ChartArea" Style="{TemplateBinding ChartAreaStyle}"> 
           <Grid Canvas.ZIndex="-1" Style="{TemplateBinding PlotAreaStyle}" /> 
           <Border Canvas.ZIndex="10" BorderBrush="#FF919191" BorderThickness="1" /> 
          </chartPrmtvs:EdgePanel> 
         </Grid> 
        </Grid> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</Grid.Resources> 

Этот шаблон удаляет поля с минимальным минимумом вокруг названия и участка участка, а также удаляет легенду. Затем я использовал это в пользовательском элементе, подходящем для моих нужд, и многократно использовал его.

следующие пространства имен определены в заголовке управления:

xmlns:dataVis="clr-namespace:System.Windows.Controls.DataVisualization;assembly=System.Windows.Controls.DataVisualization.Toolkit" 
xmlns:chartPrmtvs="clr-namespace:System.Windows.Controls.DataVisualization.Charting.Primitives;assembly=System.Windows.Controls.DataVisualization.Toolkit" 
xmlns:charts="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit" 

Наслаждайтесь!

+1

Вы сделали мой день! Большое спасибо! – 321X

Смежные вопросы