在我的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>
答案 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>