0
我有一個標籤控件......爲了這片項目被添加dynamically.Each標籤項包含一個數據網格 我的標籤conrtol是自定義的Tabcontrol標籤ItemDatabinding
<TabControl Grid.Row="1" Name="tabControl" ItemsSource="{Binding TabItems}" ContentTemplate="{DynamicResource DataTemplate1}" >
</TabControl>
模板...
<Window.Resources>
<DataTemplate x:Key="DataTemplate1">
<Grid>
<DataGrid ItemsSource="{Binding Path=GridSource,UpdateSourceTrigger=PropertyChanged}"></DataGrid>
</Grid>
</DataTemplate>
</Window.Resources>
public MainWindowViewModel()
{
NewCmnd = new RelayCommand(NewCommandExecute, NewCommandCanExecute);
TabItems = new ObservableCollection<TabItem>();
GridSource = new DataTable();
GridSource.Columns.Add("Column1");
GridSource.Columns.Add("Column2");
GridSource.Columns.Add("Column3");
}
public ObservableCollection<TabItem> TabItems
{
get;
set;
}
public DataTable GridSource
{
get
{
return dt;
}
set
{
dt = value;
OnPropertyChanged(new PropertyChangedEventArgs("GridSource"));
}
}
而且IAM添加標籤的項目,如
TabItems.Add(new TabItem());
DataRow dr = GridSource.NewRow();
dr["Column1"] = "abc";
dr["Column2"] = "abc";
dr["Column3"] = "abc";
GridSource.Rows.Add(dr);
,但我的UI是不是updated..Can任何一個可以告訴米e可能的原因?
所以不會酒店在代碼行改變了火「GridSource.Rows.Add(dr);」 ??? – WpfBegnner
除非DataTable.Row提供設施。我相信你的TabItems必須將它作爲它的ObsservableCollection。 – AsitK
添加行後,您還可以嘗試「GridSource = GridSource」。 – AsitK