WPF Toolkit - установить цвет линии Line Line с привязкой
Я добавил LineSeries в свой график. Вот код:
<chartingToolkit:LineSeries Name="line" IndependentValueBinding="{Binding Path=Key}" DependentValueBinding="{Binding Path=Value}">
<chartingToolkit:LineSeries.Template>
<ControlTemplate TargetType="chartingToolkit:LineSeries">
<Canvas x:Name="PlotArea">
<Polyline x:Name="polyline"
Points="{TemplateBinding Points}"
Stroke="Green"
Style="{TemplateBinding PolylineStyle}" />
</Canvas>
</ControlTemplate>
</chartingToolkit:LineSeries.Template>
</chartingToolkit:LineSeries>
Это работает хорошо. Моя полилиния окрашена в зеленый цвет. Но когда я пытаюсь установить цвет Polyline.Stroke, используя привязку, моя линия становится невидимой. Вот код:
<chartingToolkit:LineSeries Name="line" IndependentValueBinding="{Binding Path=Key}" DependentValueBinding="{Binding Path=Value}">
<chartingToolkit:LineSeries.Template>
<ControlTemplate TargetType="chartingToolkit:LineSeries">
<Canvas x:Name="PlotArea">
<Polyline x:Name="polyline"
Points="{TemplateBinding Points}"
Stroke="{Binding Path=MyColor}"
Style="{TemplateBinding PolylineStyle}" />
</Canvas>
</ControlTemplate>
</chartingToolkit:LineSeries.Template>
</chartingToolkit:LineSeries>
Я не могу понять, в чем проблема.
1 ответ
Решение
Вы, вероятно, используете неправильный тип для цвета, вы должны использовать SolidColorBrush
private SolidColorBrush _chartColor = new SolidColorBrush(Colors.Aqua);
public SolidColorBrush ChartColor
{
get
{
return _chartColor;
}
set
{
if (_chartColor == value)
{
return;
}
_chartColor = value;
}
}
тогда переплет должен работать отлично
<chartingToolkit:Chart Title="Line Series"
VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="0" >
<chartingToolkit:LineSeries Name="line" ItemsSource="{Binding LineSeriesData}"
IndependentValueBinding="{Binding Path=Key}"
DependentValueBinding="{Binding Path=Value}">
<chartingToolkit:LineSeries.Template>
<ControlTemplate TargetType="chartingToolkit:LineSeries">
<Canvas x:Name="PlotArea">
<Polyline x:Name="polyline"
Points="{TemplateBinding Points}"
Stroke="{Binding ChartColor}"
Style="{TemplateBinding PolylineStyle}" />
</Canvas>
</ControlTemplate>
</chartingToolkit:LineSeries.Template>
</chartingToolkit:LineSeries>
</chartingToolkit:Chart>