如何在 Windows Phone 8.1 XAML 工具包图表中更改 LineSeries 的颜色

本文关键字:LineSeries 颜色 工具包 Windows Phone XAML | 更新日期: 2023-09-27 17:55:39

我正在尝试从图表中某条线背后的代码中设置颜色。我已经搜索了 3 个小时该怎么做,但我什么也找不到。有可能这样做吗?如果做不到,请推荐另一个图表库,我可以这样做。

谢谢!

XAML

<Charting:Chart Title="Name" x:Name="LineChart" HorizontalAlignment="Left" VerticalAlignment="Center"  Width="510" Height="450">
        <Charting:LineSeries Title="PB" IndependentValuePath="Name" DependentValuePath="Amount" IsSelectionEnabled="True"/>
        <Charting:LineSeries Title="Oil" IndependentValuePath="Name" DependentValuePath="Amount" IsSelectionEnabled="True"/>
    </Charting:Chart>

可湿性工作基金会

Random rand = new Random();
        List<FinancialStuff> financialStuffList = new List<FinancialStuff>();
        for (int i = 0; i < 30; i++ )
            financialStuffList.Add(new FinancialStuff() { Name = Convert.ToString(i), Amount = rand.Next(0, 200) });
        (LineChart.Series[0] as LineSeries).ItemsSource = financialStuffList;
        for (int i = 0; i < 30; i++)
            financialStuffList[i].Amount = rand.Next(0, 50);
        (LineChart.Series[1] as LineSeries).ItemsSource = financialStuffList;

public class FinancialStuff
    {
        public string Name { get; set; }
        public int Amount { get; set; }
    }

如何在 Windows Phone 8.1 XAML 工具包图表中更改 LineSeries 的颜色

 Style style = new Style(typeof(Control));
 style.Setters.Add(new Setter(Control.BackgroundProperty, new  SolidColorBrush(Colors.Red)));
 style.Setters.Add(new Setter(Control.HeightProperty, 5));
 style.Setters.Add(new Setter(Control.WidthProperty, 5));
 series.DataPointStyle = style;

你试过这个吗?当您在此处获得该行时尝试设置它

 (LineChart.Series[0] as LineSeries).DataPointStyle = style;  

您还可以尝试以下 XAML:

<charting:LineSeries.DataPointStyle>
   <Style TargetType="charting:LineDataPoint">
       <Setter Property="Width" Value="17" />
       <Setter Property="Height" Value="17" />
       <Setter Property="Background" Value="Lime"/>
   </Style>
</charting:LineSeries.DataPointStyle>

如果有人有问题,这里有Olaru Mircea解决方案

Style style = new Style(typeof(Control));
 style.Setters.Add(new Setter(Control.BackgroundProperty, new  SolidColorBrush(Colors.Red)));
 style.Setters.Add(new Setter(Control.HeightProperty, 5));
 style.Setters.Add(new Setter(Control.WidthProperty, 5));
 series.DataPointStyle = style;

只需像这样修改它:

Style style = new Style(typeof(Control));
 style.Setters.Add(new Setter(Control.BackgroundProperty, new  SolidColorBrush(Colors.Red)));
 style.Setters.Add(new Setter(Control.HeightProperty, 5.0));
 style.Setters.Add(new Setter(Control.WidthProperty, 5.0));
 series.DataPointStyle = style;

第一个为我抛出了一个异常,但在使用双精度值后,它工作正常。