我有一个WPF标签控件..
我动态地在TabControl中添加标签
现在我想在Tab控件的每个Tab中给出一个关闭按钮..
所以请告诉我在该选项卡控件中添加关闭按钮 .
添加标签的代码
private void AddTab(ITabbedMDI mdiChild)
{
if (_mdiChildren.ContainsKey(mdiChild.UniqueTabName))
{
//user control is already opened in tab.
//So set focus to the tab item where the control hosted
foreach (object item in tcMdi.Items)
{
TabItem ti = (TabItem)item;
if (ti.Name == mdiChild.UniqueTabName)
{
ucChildLoc = (UserControl)mdiChild;
ti.Focus();
//tcMdi.Width = this.ucChildLoc.Width;
//tcMdi.Height = this.ucChildLoc.Height;
break;
}
}
}
}
代码清算选项卡
private void CloseTab(ITabbedMDI tab, EventArgs e)
{
TabItem ti = null;
foreach(TabItem item in tcMdi.Items)
{
if (tab.UniqueTabName == ((ITabbedMDI)item.Content).UniqueTabName)
{
ti = item;
break;
}
}
if (ti != null)
{
_mdiChildren.Remove(((ITabbedMDI)ti.Content).UniqueTabName);
tcMdi.Items.Remove(ti);
}
}
我正在使用本文的TabControl
http://www.codeproject.com/Articles/32362/Tabbed-MDI-in-WPF
提前致谢..
3 回答
TabControl不提供关闭TabItems的功能 .
您可以添加“x”按钮并将可见性设置为折叠/隐藏为黑客 .
或者您可以查看Infragistics的XamTabControl或支持关闭Tabs的任何其他供应商产品 .
如果您将选项卡控件作为自定义控件并从选项卡控件继承功能,然后添加关闭按钮并处理其事件,那么它可以工作
有关详细信息,请参阅本文http://www.codeproject.com/Articles/84213/How-to-add-a-Close-button-to-a-WPF-TabItem这可能会有所帮助
我尝试了几种解决方案,并努力寻找看起来不错的东西,并在鼠标悬停时突出显示按钮中的“X” . 我终于以这一个结束了 . 它也不需要太多代码 . 我希望它有所帮助: