Я уже пару дней играю с silverlight и делаю успехи, но столкнулся с проблемой.
У меня нет опыта работы с C # (я программист на PHP).
У меня есть линейный график, отображающий данные без проблем, но я хочу показать разные данные в зависимости от того, какая информация передается.Все это настроено, но я сделал шаг назад, чтобы попытаться получить базовое, если / еще работает
Мой xaml.cs выглядит следующим образом:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace MyProject
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(UC_Loaded);
}
void UC_Loaded(object sender, RoutedEventArgs e)
{
//int student_id = (int)App.Current.Resources["student_id"];
int student_id = (int)10;
//int test_id = (int)App.Current.Resources["test_id"];
this.DataContext = this;
List<Student> cust = new List<Student>();
if (student_id==10)
{
cust.Add(new Student() { Date = "14th Oct", Result = 30 });
cust.Add(new Student() { Date = "20th Oct", Result = 60 });
cust.Add(new Student() { Date = "30th Oct", Result = 20 });
cust.Add(new Student() { Date = "12th Nov", Result = 10 });
cust.Add(new Student() { Date = "20th Nov", Result = 70 });
}
else
{
cust.Add(new Student() { Date = "14th Oct", Result = 10 });
cust.Add(new Student() { Date = "20th Oct", Result = 10 });
cust.Add(new Student() { Date = "30th Oct", Result = 10 });
cust.Add(new Student() { Date = "12th Nov", Result = 10 });
cust.Add(new Student() { Date = "20th Nov", Result = 10 });
}
this.DataContext = cust;
}
}
public class Student
{
public string Date { get; set; }
public int Result { get; set; }
}
}
Мой XAML здесь:
<Grid x:Name="LayoutRoot" Background="White">
<StackPanel>
<toolkit:Chart Height="500" Width="600" Title="Test title">
<toolkit:Chart.Series>
<toolkit:LineSeries Title="Student Scores"
ItemsSource="{Binding}"
IndependentValueBinding="{Binding Date}"
DependentValueBinding="{Binding Result}">
<toolkit:LineSeries.DataPointStyle>
<Style TargetType="toolkit:LineDataPoint">
<Setter Property="Background" Value="Lime"/>
</Style>
</toolkit:LineSeries.DataPointStyle>
</toolkit:LineSeries>
</toolkit:Chart.Series>
<toolkit:Chart.Axes>
<toolkit:LinearAxis Orientation="Y" Minimum="0" Maximum="100" Interval="5" ShowGridLines="True" FontStyle="Italic"></toolkit:LinearAxis>
</toolkit:Chart.Axes>
</toolkit:Chart>
</StackPanel>
</Grid>
Теперь, если я запускаю его без if / else и одного набора cust.Add, он работает как положено, но с if / else я получаю пустой график без точек на нем.
Заранее спасибо и надеюсь, что это имеет смысл!