Browse Source

Partially fix tab strip orientation.

pull/1842/head
Steven Kirk 8 years ago
parent
commit
fc709c3a0f
  1. 2
      src/Avalonia.Controls/TabControl.cs
  2. 30
      src/Avalonia.Themes.Default/TabControl.xaml

2
src/Avalonia.Controls/TabControl.cs

@ -57,7 +57,7 @@ namespace Avalonia.Controls
/// The default value for the <see cref="ItemsControl.ItemsPanel"/> property. /// The default value for the <see cref="ItemsControl.ItemsPanel"/> property.
/// </summary> /// </summary>
private static readonly FuncTemplate<IPanel> DefaultPanel = private static readonly FuncTemplate<IPanel> DefaultPanel =
new FuncTemplate<IPanel>(() => new WrapPanel { Orientation = Orientation.Horizontal }); new FuncTemplate<IPanel>(() => new WrapPanel());
internal ItemsPresenter ItemsPresenterPart { get; private set; } internal ItemsPresenter ItemsPresenterPart { get; private set; }

30
src/Avalonia.Themes.Default/TabControl.xaml

@ -24,7 +24,6 @@
<DockPanel> <DockPanel>
<ItemsPresenter <ItemsPresenter
Name="PART_ItemsPresenter" Name="PART_ItemsPresenter"
DockPanel.Dock="Top"
Items="{TemplateBinding Items}" Items="{TemplateBinding Items}"
ItemsPanel="{TemplateBinding ItemsPanel}" ItemsPanel="{TemplateBinding ItemsPanel}"
ItemTemplate="{TemplateBinding ItemTemplate}" ItemTemplate="{TemplateBinding ItemTemplate}"
@ -44,31 +43,22 @@
</ControlTemplate> </ControlTemplate>
</Setter> </Setter>
</Style> </Style>
<Style Selector="TabControl[TabStripPlacement=Top] /template/ ItemsPresenter#PART_ItemsPresenter">
<Setter Property="DockPanel.Dock" Value="Top"/>
</Style>
<Style Selector="TabControl[TabStripPlacement=Bottom] /template/ ItemsPresenter#PART_ItemsPresenter"> <Style Selector="TabControl[TabStripPlacement=Bottom] /template/ ItemsPresenter#PART_ItemsPresenter">
<Setter Property="DockPanel.Dock" Value="Bottom"/> <Setter Property="DockPanel.Dock" Value="Bottom"/>
</Style> </Style>
<Style Selector="TabControl[TabStripPlacement=Left]">
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
<Style Selector="TabControl[TabStripPlacement=Left] /template/ ItemsPresenter#PART_ItemsPresenter"> <Style Selector="TabControl[TabStripPlacement=Left] /template/ ItemsPresenter#PART_ItemsPresenter">
<Setter Property="DockPanel.Dock" Value="Left"/> <Setter Property="DockPanel.Dock" Value="Left"/>
</Style> </Style>
<Style Selector="TabControl[TabStripPlacement=Right]"> <Style Selector="TabControl[TabStripPlacement=Left] /template/ ItemsPresenter#PART_ItemsPresenter > WrapPanel">
<Setter Property="ItemsPanel"> <Setter Property="Orientation" Value="Vertical"/>
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style> </Style>
<Style Selector="TabControl[TabStripPlacement=Right] /template/ ItemsPresenter#PART_ItemsPresenter"> <Style Selector="TabControl[TabStripPlacement=Right] /template/ ItemsPresenter#PART_ItemsPresenter">
<Setter Property="DockPanel.Dock" Value="Right"/> <Setter Property="DockPanel.Dock" Value="Right"/>
</Style>
<Style Selector="TabControl[TabStripPlacement=Right] /template/ ItemsPresenter#PART_ItemsPresenter > WrapPanel">
<Setter Property="Orientation" Value="Vertical"/>
</Style> </Style>
</Styles> </Styles>

Loading…
Cancel
Save