我是WPF / XAML的新手。我正在尝试使用XAML代码将DataTable绑定到DataGrid。我所拥有的是一个实现INotifyPropertyChanged的自定义DataContainer类的实例。这个类有一个属性:
private DataTable totalsStatus = new DataTable();
public DataTable TotalsStatus
{
get { return totalsStatus; }
set
{
totalsStatus = value;
NotifyPropertyChanged("TotalsStatus");
}
}
现在,在我的MainWindow的C'tor中,我有这个,它就像一个魅力:
Binding b = new Binding();
b.Source = DataContainer;
b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
b.Path = new PropertyPath("TotalsStatus");
DataGridMain.SetBinding(DataGrid.ItemsSourceProperty, b);
如何在XAML中进行此绑定?
答案 0 :(得分:1)
您需要使用objectdataprovider
。
<ObjectDataProvider x:Key="yourdataproviderclass"
ObjectType="{x:Type local:yourdataproviderclass}" />
<ObjectDataProvider x:Key="dtable"
ObjectInstance="{StaticResource yourdataproviderclass}"
MethodName="GetTable"/> <!--here would be the method that returns your datasource-->
然后,您可以使用
将其绑定到XAML中的数据网格<DataGrid ItemsSource="{Binding Source={StaticResource dtable}}" ></DataGrid>
虽然有不同的方法可以在xaml中进行绑定,所以请稍微使用它。