[英]Attach a single close button on the tabcontrol in C#
我如何在C#中的tabcontrol上附加单个关闭按钮。 有很多方法可以分别在每个选项卡上附加一个关闭按钮,但是我只想附加一个(例如)我们可以在Microsoft Visual Stdio 2008上看到的按钮。所以Plz可以帮助我。
这是一种廉价的方法,可能会让您入门:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<DockPanel>
<TabControl DockPanel.Dock="Top">
<TabItem Header="Test1" />
<TabItem Header="Test2" />
<TabItem Header="Test3" />
<TabItem Focusable="False">
<TabItem.Header>
<Button Command="{Binding CloseTab}" Content="X" Width="21" HorizontalAlignment="Stretch" />
</TabItem.Header>
</TabItem>
</TabControl>
</DockPanel>
</Window>
然后,您需要在DataContext上实现public ICommand CloseTab
字段或属性,并根据自己的喜好对选项卡控件进行样式设置。
编辑:
如果使用此方法:
TabItem
焦点,因为焦点用于确定要关闭的内容,但是按Tab键关闭正常的TabItem
键盘流程 我想出了一种样式,该样式使按钮看起来像常规选项卡,并在其上带有粗体X ,这在外观上更像IE8,并解决了键盘选择问题。 但这很复杂,而且这种解决方案也很复杂。
最终,每个选项卡上的关闭按钮都可以更好地使用选项卡控件的默认行为。 该解决方案的唯一问题是占用更多空间。 您可以作弊并使关闭按钮折叠,直到将鼠标悬停在选项卡项目上为止,尽管这只是用户体验的禁忌,除非您只是缩小它。
如果您认真考虑使用单独的关闭按钮,建议您看一下本文,然后将其对滚动按钮所做的操作调整为您的关闭按钮:
http://www.blogs.intuidev.com/post/2010/02/10/TabControlStyling_PartThree.aspx
忽略它们对关闭按钮的作用:)
是否可以将您的tabcontrol放在另一个容器控件上,并让该控件的关闭按钮完成这项工作?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.