Я новичок в 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, и я хочу изменить только то, какая фигура рисуется - не фон / подсказка и т. Д.
Каким был бы самый чистый / самый «правильный» способ сделать это?