WPF数据网格给定日期但行为空

Err*_*tor 0 c# wpf datagrid xml-serialization

我在填写DataGrid数据时遇到问题.这是我的代码,用于反序列化XML file并将信息放入数组中,然后将其Array放入DataGrid使用ItemsSource方法中.

public partial class Teacher_Page : Window
{
    List<User> pupils;

    public Teacher_Page()
    {
        InitializeComponent();
        XmlSerializer deserializer = new XmlSerializer(typeof(List<User>));
        TextReader textReader = new StreamReader("../../../Pupils.xml");
        pupils = (List<User>)deserializer.Deserialize(textReader);
        textReader.Close();

        lbtest.Content = pupils[2].Name;
        dataResults.ItemsSource = pupils;

    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行程序时,我DataGrid会填充正确的行数,arraylist但是行是空的并且没有列.lbltest从中输出一个字符串arraylist来证明它arraylist不是空的,这是正确的. AutoGenerateColumns也设置为true.

XAML

<DataGrid x:Name="dataResults" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Height="248" Width="610" IsReadOnly="True"/>
Run Code Online (Sandbox Code Playgroud)

Code behind

public class User
{
    public String Name;
    public int Score;

    public User()
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

Roh*_*ats 5

问题在于你的User班级.

要在dataGrid中自动生成列,您应该具有properties底层的ItemsSource类和not fields.Binding来自XAML仅适用于属性而非字段.

制作NameScore作为属性然后它应该工作 -

public class User
{
    public String Name { get; set; }
    public int Score { get; set; }
}
Run Code Online (Sandbox Code Playgroud)