C# 如何从字典中设置图表XValue和YValue成员?

C# 如何从字典中设置图表XValue和YValue成员?,c#,.net,C#,.net,我正在尝试从字典集合中设置图表XValueMember和YValueMember: public partial class GraphWindow : Window { Dictionary<int, double> value; public GraphWindow(Dictionary<int, double> values) { InitializeComponent(); value = new Dictio

我正在尝试从字典集合中设置图表XValueMember和YValueMember:

public partial class GraphWindow : Window
{
   Dictionary<int, double> value;
    public GraphWindow(Dictionary<int, double> values)
    {
        InitializeComponent();
        value = new Dictionary<int, double>(values);
        Plot();
    }

    public void Plot()
    {
        Chart chart = this.FindName("Chart") as Chart;
        if (chart != null)
        {
            chart.DataSource = value;
            chart.Series["series"].XValueMember = "Key";
            chart.Series["series"].YValueMembers = "Value";
        }
    }
}
公共部分类图形窗口:窗口
{
字典值;
公共图形窗口(字典值)
{
初始化组件();
值=新字典(值);
Plot();
}
公共空地()
{
Chart Chart=此.FindName(“Chart”)作为图表;
如果(图表!=null)
{
chart.DataSource=值;
图表.Series[“Series”].XValueMember=“Key”;
图表.Series[“Series”].YValueMembers=“Value”;
}
}
}

轴已生成,但为空()。以前,我尝试使用KeyValuePair,但chart不支持它。如何以图表格式从字典中获取值和键?谢谢你的帮助

你只遗漏了谜题的一小部分:

chart.DataSource = value;
chart.Series[0].XValueMember = "Key";
chart.Series[0].YValueMembers = "Value";
chart.DataBind();  
最后一行将在其他行设置后建立
数据绑定

当数据发生更改时,您需要再次调用它

注:根据上面的MSDN链接:

如果数据源设置为图表而没有其他数据 如果需要操作,则不必指定DataBind方法 显式调用。在这些情况下,图表本身将绑定到数据 渲染之前的数据源

。。实际上,您可以通过调用

chart.Refresh();
但是,由于字典需要设置成员的值,因此似乎需要一些东西才能使其正常工作

使用这些数据

value.Clear();
value.Add(1,12);
value.Add(2,32);
value.Add(3,52);
value.Add(6,42);
此图表显示:


已尝试。不幸的是,什么也没发生。我想是因为它只取字典中的最后一个值。图表变成了一个点?不,它包含字典中的所有条目,每个条目在这里都显示为一个数据点。看我的编辑!你的价值观是什么?或者我应该问:你到底在哪里添加数据?这很奇怪。如果我在这个类中初始化字典,那么图形就成功构建了。若我通过类构造函数传递dictionary,那个么它将不起作用。我正在MainWindow类中将数据添加到dictionary中。这个类不确定你的链接是否完整;没有呼叫afaics