2

まず第一に、私はすべての笑顔の質問を読み、それらの答えを試しました. 私には何もうまくいかないようです。

という名前のクラスを作成しましたstudent。次に、データベースから学生のリストをロードしました。

ここで、このリストをデータグリッドに表示したいと思います。私が得るのは空のテーブルだけです.. :(

問題に見えるのは?(itemSourceの代わりにdatacontextを試しました)

私のC#コード:

public partial class MainWindow : Window
{
    public List<student> studentsList = new List<student>();
    public MainWindow()
    {
        try
        {
            InitializeComponent();
            Classes.studentManager stdManager = new Classes.studentManager();


            studentsList = stdManager.Select();

            this.dgStudents.DataContext = studentsList.ToList();

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
}

XAMLコードは次のとおりです

 <DataGrid AutoGenerateColumns="False" Height="211" Name="dgStudents" Width="Auto" Margin="39,0,-33,-142" VerticalAlignment="Bottom" ItemsSource="{Binding}">
   <DataGrid.Columns>
     <DataGridTextColumn Header="birthDate" Width="175" Binding="{BindingfirstName}" />
    </DataGrid.Columns>
   </DataGrid>

これは学生オブジェクトです

  public class student
  {

    public int ID;
    public string firstName;
    public string lastName;
    public string studentID;
    public string homePhone;
    public string cellPhone;
    public string parentsPhone;
    public string parentsName;
    public string adress;
    public bool isPicFormExists;
    public string medProblems;
    public bool isParentsConfExists;
    public List<Class> classesList;
    public DateTime birthDate;
    public List<payments> payments;
    public double accountBalance;


    public student() 
    {
        try
        {

        }
        catch (Exception ex)
        {
            //TO-DO
        }
    }

}
4

1 に答える 1

4

クラスでパブリック プロパティを定義する必要がありますstudent。フィールドにバインドすることはできません。

WPF は、フィールドではなく、オブジェクトのプロパティへのバインドをサポートしています。

詳細については、この質問を参照してください: WPF でフィールドにバインドすることは可能でしたか?

于 2013-09-06T10:48:45.040 に答える