C# 数据绑定数据网格

C# 数据绑定数据网格,c#,wpf,data-binding,datagrid,C#,Wpf,Data Binding,Datagrid,在将可观察集合数据绑定到datagrid()失败后,我尝试缩小范围。现在我的项目只有一个datagrid、一个ObservableCollection和一个类。 但我的数据绑定还是失败了。。请帮忙 using System.Collections.ObjectModel; using System.Windows; namespace TestDatagrid { /// <summary> /// Interaction logic for MainWindow.

在将可观察集合数据绑定到datagrid()失败后,我尝试缩小范围。现在我的项目只有一个datagrid、一个ObservableCollection和一个类。 但我的数据绑定还是失败了。。请帮忙

using System.Collections.ObjectModel;
using System.Windows;

namespace TestDatagrid
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
    }

    public class MainViewModel
    {
        public ObservableCollection<OptionStrike> oOs = new ObservableCollection<OptionStrike>(new OptionStrike[]
            {
                new OptionStrike("Put", 7500.00, 12345),
                new OptionStrike("Call", 7500.00, 123),
                new OptionStrike("Put", 8000.00, 23645),
                new OptionStrike("Call", 8000.00,99999)
            });
    }

    public class OptionStrike
    {
        public OptionStrike(string p1, double p2, int p3)
        {
            // TODO: Complete member initialization
            this.Type = p1;
            this.Strike = p2;
            this.Volume = p3;
        }

        public string Type { get; set; }
        public double Strike { get; set; }
        public double Volume { get; set; }
    }
}
使用System.Collections.ObjectModel;
使用System.Windows;
命名空间TestDatagrid
{
/// 
///MainWindow.xaml的交互逻辑
/// 
公共部分类主窗口:窗口
{
公共主窗口()
{
初始化组件();
}
}
公共类主视图模型
{
公共ObservableCollection oOs=新的ObservableCollection(新选项点击[]
{
新期权打击(“出售”,7500.00,12345),
新期权打击(“呼叫”,7500.00,123),
新期权打击(“Put”,8000.0023645),
新选项突击(“呼叫”,8000.0099999)
});
}
公共类选项攻击
{
公共选项点击(字符串p1,双精度p2,整数p3)
{
//TODO:完成成员初始化
该类型=p1;
这个。Strike=p2;
这个。体积=p3;
}
公共字符串类型{get;set;}
公共双击{get;set;}
公共双卷{get;set;}
}
}
这是我的XAML


您需要将您的
ObservableCollection
公开为属性,而不是字段

public class MainViewModel
{
    public ObservableCollection<OptionStrike> oOs { get; set; }

    public MainViewModel()
    {
        oOs = new ObservableCollection<OptionStrike>(new OptionStrike[]
        {
            new OptionStrike("Put", 7500.00, 12345),
            new OptionStrike("Call", 7500.00, 123),
            new OptionStrike("Put", 8000.00, 23645),
            new OptionStrike("Call", 8000.00,99999)
        });
    }
}
public类主视图模型
{
公共可观测集合oOs{get;set;}
公共主视图模型()
{
oOs=新的ObservableCollection(新选项点击[]
{
新期权打击(“出售”,7500.00,12345),
新期权打击(“呼叫”,7500.00,123),
新期权打击(“Put”,8000.0023645),
新选项突击(“呼叫”,8000.0099999)
});
}
}
无法绑定到字段,有关该主题的详细信息,请参阅