Browse Source

Merge pull request #453 from wieslawsoltes/PseudoClass

Added PseudoClass for OrientationProperty
pull/464/head
Steven Kirk 10 years ago
parent
commit
e6cc6cbd12
  1. 9
      src/Perspex.Controls/GridSplitter.cs
  2. 9
      src/Perspex.Controls/Primitives/ScrollBar.cs
  3. 3
      src/Perspex.Controls/Slider.cs
  4. 8
      src/Perspex.Themes.Default/ScrollBar.paml
  5. 4
      src/Perspex.Themes.Default/Slider.paml

9
src/Perspex.Controls/GridSplitter.cs

@ -4,8 +4,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Perspex.Collections;
using Perspex.Controls.Primitives;
using Perspex.Input;
using Perspex.VisualTree;
@ -32,8 +30,6 @@ namespace Perspex.Controls
private DefinitionBase _nextDefinition;
private bool _isResizingColumns;
private List<DefinitionBase> _definitions;
/// <summary>
@ -52,7 +48,10 @@ namespace Perspex.Controls
SetValue(OrientationProperty, value);
}
}
/// <summary>
/// Initializes static members of the <see cref="GridSplitter"/> class.
/// </summary>
static GridSplitter()
{
PseudoClass(OrientationProperty, o => o == Perspex.Controls.Orientation.Vertical, ":vertical");

9
src/Perspex.Controls/Primitives/ScrollBar.cs

@ -31,6 +31,15 @@ namespace Perspex.Controls.Primitives
public static readonly StyledProperty<Orientation> OrientationProperty =
PerspexProperty.Register<ScrollBar, Orientation>(nameof(Orientation));
/// <summary>
/// Initializes static members of the <see cref="ScrollBar"/> class.
/// </summary>
static ScrollBar()
{
PseudoClass(OrientationProperty, o => o == Perspex.Controls.Orientation.Vertical, ":vertical");
PseudoClass(OrientationProperty, o => o == Perspex.Controls.Orientation.Horizontal, ":horizontal");
}
/// <summary>
/// Initializes a new instance of the <see cref="ScrollBar"/> class.
/// </summary>

3
src/Perspex.Controls/Slider.cs

@ -3,7 +3,6 @@
using System;
using Perspex.Controls.Primitives;
using Perspex.Controls.Templates;
using Perspex.Input;
using Perspex.Interactivity;
@ -40,6 +39,8 @@ namespace Perspex.Controls
/// </summary>
static Slider()
{
PseudoClass(OrientationProperty, o => o == Perspex.Controls.Orientation.Vertical, ":vertical");
PseudoClass(OrientationProperty, o => o == Perspex.Controls.Orientation.Horizontal, ":horizontal");
Thumb.DragStartedEvent.AddClassHandler<Slider>(x => x.OnThumbDragStarted, RoutingStrategies.Bubble);
Thumb.DragDeltaEvent.AddClassHandler<Slider>(x => x.OnThumbDragDelta, RoutingStrategies.Bubble);
Thumb.DragCompletedEvent.AddClassHandler<Slider>(x => x.OnThumbDragCompleted, RoutingStrategies.Bubble);

8
src/Perspex.Themes.Default/ScrollBar.paml

@ -20,16 +20,16 @@
</ControlTemplate>
</Setter>
</Style>
<Style Selector="ScrollBar[Orientation=Horizontal]">
<Style Selector="ScrollBar:horizontal">
<Setter Property="Height" Value="10"/>
</Style>
<Style Selector="ScrollBar[Orientation=Horizontal] /template/ Thumb#thumb">
<Style Selector="ScrollBar:horizontal /template/ Thumb#thumb">
<Setter Property="MinWidth" Value="10"/>
</Style>
<Style Selector="ScrollBar[Orientation=Vertical]">
<Style Selector="ScrollBar:vertical">
<Setter Property="Width" Value="10"/>
</Style>
<Style Selector="ScrollBar[Orientation=Vertical] /template/ Thumb#thumb">
<Style Selector="ScrollBar:vertical /template/ Thumb#thumb">
<Setter Property="MinHeight" Value="10"/>
</Style>
</Styles>

4
src/Perspex.Themes.Default/Slider.paml

@ -1,5 +1,5 @@
<Styles xmlns="https://github.com/perspex">
<Style Selector="Slider[Orientation=Horizontal]">
<Style Selector="Slider:horizontal">
<Setter Property="MinWidth" Value="40"/>
<Setter Property="MinHeight" Value="20"/>
<Setter Property="Template">
@ -26,7 +26,7 @@
</ControlTemplate>
</Setter>
</Style>
<Style Selector="Slider[Orientation=Vertical]">
<Style Selector="Slider:vertical">
<Setter Property="MinWidth" Value="20"/>
<Setter Property="MinHeight" Value="40"/>
<Setter Property="Template">

Loading…
Cancel
Save