我是Silverlight的新手,Silverlight.Controls.Toolkit
只接触过几周(我也没有WPF经验)。
我正在尝试调整工具包的图表,以允许用户在查看图表时更改某些类型系列的数据点样式。
例如,显示数据点的线序列目前始终将点显示为圆圈。我希望用户能够选择用于绘制数据点的形状。
到目前为止,我实现这一目标的唯一方法是在资源字典中定义样式:
<Style x:Key="SquareDataPointStyle" TargetType="charting:LineDataPoint">
<Setter Property="Background" Value="Black" />
<Setter Property="BorderBrush" Value="Gray"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="IsTabStop" Value="False" />
<Setter Property="Width" Value="8" />
<Setter Property="Height" Value="8" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="charting:LineDataPoint">
<Grid x:Name="Root" Opacity="1">
<VisualStateManager.VisualStateGroups>
...
</VisualStateManager.VisualStateGroups>
<ToolTipService.ToolTip>
<ContentControl Content="{TemplateBinding FormattedDependentValue}" />
</ToolTipService.ToolTip>
<Rectangle Stroke="{TemplateBinding BorderBrush}" Fill="{TemplateBinding Background}" />
<Rectangle x:Name="SelectionHighlight" Opacity="0" Fill="Red" />
<Rectangle x:Name="MouseOverHighlight" Opacity="0" Fill="White" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
..然后使用预定义样式的键以编程方式设置数据点样式:
series.DataPointStyle = (Style)Application.Current.Resources["SquareDataPointStyle"];
这似乎不是一个很好的方法,因为每个DataPoint样式的样式定义都很长,我只想改变绘制的形状 - 而不是背景/工具提示等。
最干净/最“正确”的方法是什么?