using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfApp3
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
public DataTable DataTable
{
get { return dataTable; }
set { dataTable = value; }
}
public DataTable dataTable { get; private set; }
private void Window_Loaded(object sender, RoutedEventArgs e)
{
this.DataTable = new DataTable("table");
this.DataTable.Columns.Add("name");
this.DataTable.Columns.Add("age");
this.DataTable.Columns.Add("gender");
this.DataTable.Rows.Add("ddddd", "22", "male");
this.DataTable.Rows.Add("dfff", "11", "male");
this.DataTable.Rows.Add("data", "11", "female");
this.grid1.DataContext = this;
}
}
}
答案 0 :(得分:1)
在Page Public Content Access
方法中,您已将DataTable字段引用为WindowLoaded
,但将其定义为_dataTable
。
只需更新其中之一以匹配。
答案 1 :(得分:0)
由于只能绑定到IEnumerable
,因此应绑定到DefaultView
的{{1}}属性:
DataTable
您可能想删除<DataGrid x:Name="grid1" ItemsSource="{Binding _dataTable.DefaultView}" />
(属性名称不应以下划线开头),而是初始化并绑定到_dataTable
属性,但以上内容应在您当前的实现下起作用。