问题描述
我正在尝试在 UWP 应用程序(使用 WinRTXamlToolkit.Controls.DataVisualization.Charting)中制作图表,而应显示多条虚线。但是,只有第一条线是虚线,第二条和第三条是实线。 我做错了什么还是这是一个错误? 下面是我的 XAML 代码和代码隐藏。我不明白的是:如果 polyline-property strokeThickness 适用于所有三行(它们都相当粗),那么为什么 polyline-property strokeDashArray 仅适用于第一行??
乔斯兰
<Page
x:Class="TestApp2.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:TestApp2"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:Charting="using:WinRTXamlToolkit.Controls.DataVisualization.Charting"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Page.Resources>
<Style x:Key="Lineseriesstyle1" targettype="Charting:Lineseries">
<Setter Property="IsTabStop" Value="False"/>
<Setter Property="polylinestyle">
<Setter.Value>
<Style targettype="polyline">
<Setter Property="strokeThickness" Value="5"/>
<Setter Property="strokeMiterLimit" Value="1"/>
<Setter Property="strokeDashArray" Value="3"/>
</Style>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate targettype="Charting:Lineseries">
<Canvas x:Name="PlotArea">
<polyline Points="{TemplateBinding Points}" Style="{TemplateBinding polylinestyle}" stroke="{TemplateBinding Background}"/>
</Canvas>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Page.Resources>
<Grid>
<Charting:Chart x:Name="LineChart" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5" ScrollViewer.HorizontalScrollBarVisibility="Visible" Width="400" Height="400">
<Charting:Chart.Axes>
<Charting:Linearaxis x:Name="Xas" Orientation="X" Location="Bottom" Interval="1" ShowGridLines="True" Title="X-as" CanDrag="True"/>
<Charting:Linearaxis x:Name="Yas" Orientation="Y" Location="Left" Interval="1" ShowGridLines="True"/>
</Charting:Chart.Axes>
<Charting:Lineseries x:Name="Line0" Style="{StaticResource Lineseriesstyle1}" IndependentValuePath="X" DependentValuePath="Y"/>
<Charting:Lineseries x:Name="Line1" Style="{StaticResource Lineseriesstyle1}" IndependentValuePath="X" DependentValuePath="Y"/>
<Charting:Lineseries x:Name="Line2" Style="{StaticResource Lineseriesstyle1}" IndependentValuePath="X" DependentValuePath="Y"/>
</Charting:Chart>
</Grid>
我的代码隐藏:
using System.Collections.Generic;
使用Windows.Foundation; 使用 Windows.UI.Xaml.Controls;
命名空间 TestApp2 { 公共密封部分类 MainPage : Page { 公共列表 l0 { 获取;放; } = 新列表(); 公共列表 l1 { 获取;放; } = 新列表(); 公共列表 l2 { 获取;放; } = new List();
public MainPage()
{
this.InitializeComponent();
l0.Add(new Point(10,20));
l0.Add(new Point(11,21));
l0.Add(new Point(12,22));
l0.Add(new Point(13,23));
Line0.ItemsSource=l0;
l1.Add(new Point(10,30));
l1.Add(new Point(11,31));
l1.Add(new Point(12,32));
l1.Add(new Point(13,33));
Line1.ItemsSource = l1;
l2.Add(new Point(10,40));
l2.Add(new Point(11,41));
l2.Add(new Point(12,42));
l2.Add(new Point(13,43));
Line2.ItemsSource = l2;
}
}
}