diff --git a/src/Perspex.Controls/TabControl.cs b/src/Perspex.Controls/TabControl.cs index 3974fe2533..30f4bac01c 100644 --- a/src/Perspex.Controls/TabControl.cs +++ b/src/Perspex.Controls/TabControl.cs @@ -28,6 +28,12 @@ namespace Perspex.Controls private static readonly IMemberSelector s_contentSelector = new FuncMemberSelector(SelectContent); + /// + /// Defines the property. + /// + public static readonly PerspexProperty TabStripPlacementProperty = + PerspexProperty.Register(nameof(TabStripPlacement), defaultValue: Dock.Top); + /// /// Initializes static members of the class. /// @@ -36,6 +42,7 @@ namespace Perspex.Controls SelectionModeProperty.OverrideDefaultValue(SelectionMode.AlwaysSelected); FocusableProperty.OverrideDefaultValue(false); SelectedItemProperty.Changed.AddClassHandler(x => x.SelectedItemChanged); + AffectsMeasure(TabStripPlacementProperty); } /// @@ -64,6 +71,15 @@ namespace Perspex.Controls set { SetValue(TransitionProperty, value); } } + /// + /// Gets or sets the tabstrip placement of the tabcontrol. + /// + public Dock TabStripPlacement + { + get { return GetValue(TabStripPlacementProperty); } + set { SetValue(TabStripPlacementProperty, value); } + } + /// /// Asks the control whether it wants to reparent the logical children of the specified /// control. diff --git a/src/Perspex.Themes.Default/TabControl.paml b/src/Perspex.Themes.Default/TabControl.paml index d5d7ba3c9f..0809be9077 100644 --- a/src/Perspex.Themes.Default/TabControl.paml +++ b/src/Perspex.Themes.Default/TabControl.paml @@ -1,15 +1,81 @@ - \ No newline at end of file + + + + + + \ No newline at end of file