因为
Xaml
不知道你添加了一个新的
TabItem
更改您的
List<T>
到
ObservableCollection<T>
,ObservableCollection将通知UI集合的任何更改(添加、删除等)。
例子:
class Model : INotifyPropertyChanged
{
private ObservableCollection<TabItem> _tabitems = new ObservableCollection<TabItem>();
public Model()
{
TabItem myItem = new TabItem();
myItem.Header = "test";
myItem.Content = "test";
TabItems.Add(myItem);
}
public ObservableCollection<TabItem> TabItems
{
get
{
return _tabitems;
}
set
{
_tabitems = value;
OnPropertyChanged("TabItems");
}
}
public bool Execute()
{
TabItem myItem = new TabItem();
myItem.Header = "test";
myItem.Content = test;
TabItems.Add(myItem);
return true;
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}