Syncfusion Chart轨迹球样式

时间:2014-11-10 22:23:34

标签: c# wpf xaml syncfusion

在我的Syncfusion WPF应用程序中,ChartTrackBallBehavior显示我可以为ChartTrackBallStyle添加一些样式。 Style没有任何文档。我无法弄清楚我可以在图表中设置什么。

是否有人使用此控件并将标签设计为符合其公司外观?我需要更改Axis中显示的标签外观。到目前为止,我已经为Style找到了以下Setter,它改变了球的外观而不是标签。

    <sfc:SfChart.Behaviors>
      <sfc:ChartTrackBallBehavior ShowLine="True" LabelHorizontalAlignment="Center" LabelVerticalAlignment="Near" >
        <sfc:ChartTrackBallBehavior.ChartTrackBallStyle>
          <Style TargetType="sfc:ChartTrackBallControl" >
            <Setter Property="Control.Visibility" Value="Visible" />
            <Setter Property="Control.Background" Value="AliceBlue" />
            <Setter Property="Control.FontSize" Value="6" />
          </Style>
        </sfc:ChartTrackBallBehavior.ChartTrackBallStyle>
      </sfc:ChartTrackBallBehavior>
    </sfc:SfChart.Behaviors>

2 个答案:

答案 0 :(得分:2)

我们可以使用ChartAxis的TrackBallLabelTemplat属性自定义跟踪球标签样式,如下面的代码片段所示

<sfchart:SfChart.PrimaryAxis>
         <sfchart:NumericalAxis  ShowTrackBallInfo="True" >
                  <sfchart:NumericalAxis.TrackBallLabelTemplate>
                          <DataTemplate >
                                <Border BorderThickness="2" BorderBrush="Black" Padding="3" Background="White">
                                      <TextBlock  FontSize="16" Text="{Binding ValueX}" Foreground="Black"></TextBlock>
                                </Border>
                           </DataTemplate>
                  </sfchart:NumericalAxis.TrackBallLabelTemplate>
         </sfchart:NumericalAxis>
</sfchart:SfChart.PrimaryAxis>

答案 1 :(得分:1)

使用模板&#34; TrackBallLabelTemplate&#34;,它在主轴的定义中设置,而不是在SfChart.Behaviors中。以下是适用于我们的代码:

<sfc:SfChart.PrimaryAxis>
    <sfc:DateTimeCategoryAxis Header="SomeText" PlotOffset="10"
        LabelFormat="yyyy/MM/dd hh:MM:ss" LabelTemplate="{StaticResource labelTemplate}" LabelsIntersectAction="Hide"
        ShowTrackBallInfo="True" TrackBallLabelTemplate="{StaticResource trackTemplateX}"/>
</sfc:SfChart.PrimaryAxis>

我的模板定义如下:

</Grid.Resources>
    <DataTemplate x:Key="trackTemplateX">
        <Grid Background="Black">
            <TextBlock Text="{Binding ValueX}" Foreground="White"  Margin="5" FontSize="14"/>
        </Grid>
    </DataTemplate>
</Grid.Resources>