AvalonDock의 VS2010 스타일을 VS2010과 같은 기능으로 만드는 방법을 찾으려고합니다. 내가 겪고있는 문제는 헤더 영역에 들어갈 수있는 것보다 더 많은 탭이있을 때 더 많은 탭이 있음을 사용자에게 알려주지 않는다는 것입니다.AvalonDock 문서 탭 패널의 스타일링 및 편집 문제가 발생했습니다.
탭 머리글이 잘리고 보이지 않는 것으로 생각했습니다. 내가 VS2010 스타일의 사용자 지정 사본을 가지고 있고 DocumentPane 스타일에 갔다 :
<!--DocumentPane-->
<Style x:Key="{x:Type ad:DocumentPane}" TargetType="{x:Type ad:DocumentPane}"> ...
을 그리고 "광고 : DocumentTabPanel"로 (내 생각) 탭 헤더를 발견했다.
<ScrollViewer Style="{StaticResource ResourceKey=TabHeaderScrollViewer}" CanContentScroll="True">
<ad:DocumentTabPanel
x:Name="paneTabsPanel"
Panel.ZIndex ="1"
IsItemsHost="True"
TabItemStyle="{StaticResource CustomDocumentTabItemStyle}"/>
</ScrollViewer>
스크롤 뷰어 그것에 사용자 정의 스타일이하는 설정이다 : 나는 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 클래스 중 일부를 서브 클래스 화해야했습니다.
누군가가 설명 할 수 있습니까/탭을 스크롤하는 해결책을 내놓을 수 있습니까?