我可以添加&amp;删除与着名MSDN article类似的标签。基本上是ObservableCollection<TabViewModels>
。我添加了像_tabs.Add(new TabViewModel())
这样的标签,但最新的标签没有集中。我想集中注意力。我该怎么做?
1种方法
因为我有一个可观察集合的视图源,我可以执行以下操作...另一个选项是@vorrtex方法
public void OnTabsChanged(object sender, NotifyCollectionChangedEventArgs e)
{
if (e.NewItems != null && e.NewItems.Count > 0)
foreach (TabViewModel tab in e.NewItems)
{
tab.CloseRequested += OnCloseRequested;
_tabsViewSource.MoveCurrentTo(tab);
}
if (e.OldItems != null && e.OldItems.Count > 0)
foreach (TabViewModel tab in e.OldItems)
tab.CloseRequested -= OnCloseRequested;
}
答案 0 :(得分:10)
使用SelectedItem:
public ObservableCollection<TabViewModel> Pages { get; set; }
private TabViewModel currentPage;
public TabViewModel CurrentPage
{
get { return currentPage; }
set
{
currentPage = value;
OnPropertyChanged("CurrentPage");
}
}
public void AddPage()
{
var page = new TabViewModel();
this.Pages.Add(page);
this.CurrentPage = page;
}
XAML:
<TabControl ItemsSource="{Binding Pages}" SelectedItem="{Binding CurrentPage, Mode=TwoWay}" />