Csharp/C#教程:关闭/删除选项卡项WPF分享


关闭/删除选项卡项WPF

我在窗口中有一个选项卡控件。 选项卡都有简单的上下文菜单(应该允许用户关闭它们)。 但是,当我点击关闭时,没有任何反应。

这是事件处理程序

void closeTab_Click(object sender, RoutedEventArgs e) { Tabs.Items.Remove((MenuItem)sender); } 

我已经四处查看关闭标签,但我找到的文章都没有详细介绍如何关闭标签。

新问题:

 void closeTab_Click(object sender, RoutedEventArgs e) { MenuItem close = (MenuItem)sender; Tabs.Items.Remove(Convert.ToInt32(close.Name.Remove(0,3))); } 

上下文菜单项因此命名:

 Name = "Tab" + Tabs.Items.Count.ToString(), 

它什么都没做

菜单项不是选项卡。 您无法从TabControl删除它。 您需要对MenuItem所属的选项卡的引用。 这可以通过各种方式完成。


我看到你在那里用名称和字符串操作尝试了一些相当hacky的东西,这里将是一个更干净的方法,不需要任何:

 var target = (FrameworkElement)sender; while (target is ContextMenu == false) target = (FrameworkElement)target.Parent; var tabItem = (target as ContextMenu).PlacementTarget; Tabs.Items.Remove(tabItem); 

这将获取父级,直到它找到ContextMenu并从PlacementTarget获取TabItem

上述就是C#学习教程:关闭/删除选项卡项WPF分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1007071.html

(0)
上一篇 2021年12月28日
下一篇 2021年12月28日

精彩推荐