基本上我想在C#后面应用这个XAML代码。这是XAML
<telerik:LineSeries Stroke="Transparent">
<telerik:LineSeries.PointTemplate>
<DataTemplate>
<Ellipse Height="10" Width="10" Fill="DarkGreen" />
</DataTemplate>
</telerik:LineSeries.PointTemplate>
</telerik:LineSeries>
这就是我的尝试:
Ellipse e = new Ellipse();
LineSeries line = new LineSeries();
e.Height = 10;
e.Width = 10;
line.Stroke = new SolidColorBrush(Colors.Transparent);
line.PointTemplate = new DataTemplate(e);
但它不起作用我得到“DataTemplate.DataType的值必须是System.Type类型。”错误。有谁知道如何正确翻译上面的XAML?
答案 0 :(得分:3)
这就是我的工作,我创建了一个资源:
<UserControl.Resources>
<DataTemplate x:Key="PointTemplate">
<Ellipse Width="5" Height="5" Fill="Coral"/>
</DataTemplate>
</UserControl.Resources>
然后你可以通过这样做来应用它:
line.PointTemplate = this.Resources["PointTemplate"] as DataTemplate;
答案 1 :(得分:0)
在XAML中创建一个静态资源并将其分配给PointTemplate Property
<Window.Resources>
<DataTemplate x:Key="PointTemplate">
<Ellipse Width="5" Height="5" Fill="Coral"/>
</DataTemplate>
</Window.Resources>
<telerik:ChartSeriesDescriptor.Style>
<Style TargetType="telerik:ScatterSplineSeries">
<Setter Property="YValueBinding" Value="YValue" />
<Setter Property="XValueBinding" Value="XValue" />
<Setter Property="StrokeThickness" Value="2" />
<Setter Property="PointTemplate" Value="{StaticResource PointTemplate}" />
</Style>
</telerik:ChartSeriesDescriptor.Style>`