Аз съм напълно нов за WPF / XAML. Аз се опитвам да изработя XAML код, за да обвържа DataTable с DataGrid. Това, което имам, е потребителски клас DataContainer, който изпълнява INotifyPropertyChanged.
private DataTable totalsStatus = new DataTable();
public DataTable TotalsStatus
{
get { return totalsStatus; }
set
{
totalsStatus = value;
NotifyPropertyChanged("TotalsStatus");
}
}
сега, в C "tor на моя MainWindow имам това, което работи като чар:
Binding b = new Binding();
b.Source = DataContainer;
b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
b.Path = new PropertyPath("TotalsStatus");
DataGridMain.SetBinding(DataGrid.ItemsSourceProperty, b);
Как да направя това свързване в XAML?
Отговори:
1 за отговор № 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-->
След това можете да го свържете към вашата datagrid в XAML с
<DataGrid ItemsSource="{Binding Source={StaticResource dtable}}" ></DataGrid>
Има различни начини да направите обвързване в xaml, така че играйте с нея малко.