我想弄清楚如何使VS2010風格的AvalonDock功能更像VS2010一點。我遇到的問題是,如果標籤區域中的標籤數量多於標題區域,則不會向用戶指示存在更多選項卡。麻煩造型和編輯AvalonDock文檔標籤面板
我認爲標籤標題只是剪裁和不可見。我有VS2010風格的自定義副本,去了DocumentPane風格:
<!--DocumentPane-->
<Style x:Key="{x:Type ad:DocumentPane}" TargetType="{x:Type ad:DocumentPane}"> ...
,發現標籤頭(我認爲)作爲「廣告:DocumentTabPanel」。我裹着這在ScrollViewer中:
<ScrollViewer Style="{StaticResource ResourceKey=TabHeaderScrollViewer}" CanContentScroll="True">
<ad:DocumentTabPanel
x:Name="paneTabsPanel"
Panel.ZIndex ="1"
IsItemsHost="True"
TabItemStyle="{StaticResource CustomDocumentTabItemStyle}"/>
</ScrollViewer>
滾動查看器設置對它有一個自定義樣式:
<Style x:Key="TabHeaderScrollViewer" TargetType="ScrollViewer">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ScrollViewer">
<Grid Background="{TemplateBinding Background}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<RepeatButton Command="ScrollBar.PageLeftCommand"></RepeatButton>
<ScrollContentPresenter Grid.Column="1"
x:Name="ScrollContentPresenter"
Cursor="{TemplateBinding Cursor}"
Margin="{TemplateBinding Padding}"
ContentTemplate="{TemplateBinding ContentTemplate}"/>
<RepeatButton Grid.Column="2" Command="ScrollBar.PageRightCommand"></RepeatButton>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
我遇到的問題是,即使當我加載了一噸標籤滾動不起作用。我不認爲這是我的造型問題。看起來標籤頁眉不在VisualTree中或者具有摺疊的可見性。我經歷了一段時間的AvalonDock源代碼,但我看不到頭是如何隱藏的。
我已經不得不繼承一些AvalonDock類,因爲我需要額外的屬性。
有人可以解釋/幫我想出一個解決方案來滾動標籤?