我使用默认的winforms图表创建了一个简单的项目,没有任何更改和按钮。
public partial class Form1 : Form
{
public Dictionary<int, double> L { get; set; }
public Form1()
{
InitializeComponent();
L = new Dictionary<int, double>();
chart1.DataSource = L;
chart1.Series[0].XValueMember = "Key";
chart1.Series[0].YValueMembers = "Value";
}
private void Generate(object sender, EventArgs e)
{
L.Clear();
Random R = new Random();
for (int i = 0; i < numberNUD.Value; i++)
{
L.Add(i, R.NextDouble() * 100);
}
}
}
但点击图表后仍然是空的。数据源有一些值,但是chart1.Series[0].Points.Count == 0
我错过了什么吗?
答案 0 :(得分:0)
你在某处调用Generate方法吗?你应该首先调用它,以便它可以用一些随机值填充字典。
答案 1 :(得分:0)
仅仅因为您设置了一次DataSource,并不意味着它会在您的模型更新时自行更新。
更改模型后需要再次设置数据。
L.Clear();
Random R = new Random();
for (int i = 0; i < numberNUD.Value; i++)
{
L.Add(i, R.NextDouble() * 100);
}
chart1.DataSource = L; //this!
chart1.DataBind(); //and this if it doesn't work