[英]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.