TabControl保存所选标签项已更改

时间:2012-03-12 12:30:51

标签: c# .net wpf tabcontrol tabitem

每当用户切换到另一个tabitem时,我都需要在不同的TabItem中保存数据。

我尝试操作TabControl.SelectionChanged事件,但没有关于以前选择的标签项的信息。

那么,如何获得用户从我的TabItem切换到另一个TabItem的时刻?

4 个答案:

答案 0 :(得分:3)

使用各个标签的Enter和Leave事件。如果您需要在代码启动时触发输入事件,则可能需要以编程方式将所选选项卡更改为与设计时不同的选项卡。

答案 1 :(得分:1)

您可以创建一个全局变量来存储最后一个标签

private TabPage LastTab = null;

private void tabSelectionChanged(...)
{
  if(LastTab != null)
     //Do save

  LastTab = tab.SelectedTabPage;// or equivalent 
}

答案 2 :(得分:0)

使用以下代码:

private object LastTab = null;

private void tabSelectionChanged(...)
{
  if(LastTab != null)
  {
     //Do save
  }

  LastTab = control.SelectedContent;
}

此处的内容将是类型对象,您可以键入强制转换为特定类并执行保存操作

答案 3 :(得分:0)

参数SelectionChangedEventArgs e

中存在您需要的内容
  • e.AddedItems
  • e.RemovedItems