Browse Source

Added ScrollViewer XAML style.

ScrollBar not yet working.
pull/297/head
Steven Kirk 11 years ago
parent
commit
187d14c018
  1. 23
      samples/XamlTestApplicationPcl/ScrollBar.paml
  2. 27
      samples/XamlTestApplicationPcl/ScrollViewer.paml
  3. 2
      samples/XamlTestApplicationPcl/XamlTestApp.paml
  4. 6
      samples/XamlTestApplicationPcl/XamlTestApplicationPcl.csproj
  5. 2
      src/Perspex.Controls/Primitives/Track.cs

23
samples/XamlTestApplicationPcl/ScrollBar.paml

@ -0,0 +1,23 @@
<Styles xmlns="https://github.com/perspex">
<Style Selector="ScrollBar">
<Setter Property="Template">
<ControlTemplate>
<Border Background="Silver">
<Track Minimum="{TemplateBinding Minimum}"
Maximum="{TemplateBinding Maximum}"
Value="{TemplateBinding Path=Value, Mode=TwoWay}"
ViewportSize="{TemplateBinding ViewportSize}"
Orientation="{TemplateBinding Orientation}">
<Thumb Width="10" Height="10">
<Thumb.Template>
<ControlTemplate>
<Border Background="Gray"/>
</ControlTemplate>
</Thumb.Template>
</Thumb>
</Track>
</Border>
</ControlTemplate>
</Setter>
</Style>
</Styles>

27
samples/XamlTestApplicationPcl/ScrollViewer.paml

@ -0,0 +1,27 @@
<Style xmlns="https://github.com/perspex" Selector="ScrollViewer">
<Setter Property="Template">
<ControlTemplate>
<Grid ColumnDefinitions="*,Auto" RowDefinitions="*,Auto">
<ScrollContentPresenter Content="{TemplateBinding Content}"
Extent="{TemplateBinding Path=Extent, Mode=TwoWay}"
Offset="{TemplateBinding Path=Offset, Mode=TwoWay}"
Viewport="{TemplateBinding Path=Viewport, Mode=TwoWay}"
CanScrollHorizontally="{TemplateBinding CanScrollHorizontally}"/>
<ScrollBar Name="horizontalScrollBar"
Orientation="Horizontal"
Maximum="{TemplateBinding HorizontalScrollBarMaximum}"
Value="{TemplateBinding Path=HorizontalScrollBarValue, Mode=TwoWay}"
ViewportSize="{TemplateBinding HorizontalScrollBarViewportSize}"
Visibility="{TemplateBinding HorizontalScrollBarVisibility}"
Grid.Row="1"/>
<ScrollBar Name="verticalScrollBar"
Orientation="Vertical"
Maximum="{TemplateBinding VerticalScrollBarMaximum}"
Value="{TemplateBinding Path=VerticalScrollBarValue, Mode=TwoWay}"
ViewportSize="{TemplateBinding VerticalScrollBarViewportSize}"
Visibility="{TemplateBinding VerticalScrollBarVisibility}"
Grid.Column="1"/>
</Grid>
</ControlTemplate>
</Setter>
</Style>

2
samples/XamlTestApplicationPcl/XamlTestApp.paml

@ -5,6 +5,8 @@
<StyleInclude Source="resource://application/XamlTestApplicationPcl/XamlTestApplication.Button.paml"/>
<StyleInclude Source="resource://application/XamlTestApplicationPcl/XamlTestApplication.Carousel.paml"/>
<StyleInclude Source="resource://application/XamlTestApplicationPcl/XamlTestApplication.CheckBox.paml"/>
<StyleInclude Source="resource://application/XamlTestApplicationPcl/XamlTestApplication.ScrollBar.paml"/>
<StyleInclude Source="resource://application/XamlTestApplicationPcl/XamlTestApplication.ScrollViewer.paml"/>
<StyleInclude Source="resource://application/XamlTestApplicationPcl/XamlTestApplication.TabControl.paml"/>
<StyleInclude Source="resource://application/XamlTestApplicationPcl/XamlTestApplication.TabItem.paml"/>
<StyleInclude Source="resource://application/XamlTestApplicationPcl/XamlTestApplication.TabStrip.paml"/>

6
samples/XamlTestApplicationPcl/XamlTestApplicationPcl.csproj

@ -135,6 +135,12 @@
<EmbeddedResource Include="TabStrip.paml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ScrollViewer.paml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ScrollBar.paml">
<SubType>Designer</SubType>
</EmbeddedResource>
<None Include="packages.config" />
<EmbeddedResource Include="Button.paml">
<SubType>Designer</SubType>

2
src/Perspex.Controls/Primitives/Track.cs

@ -4,6 +4,7 @@
using System;
using Perspex.Input;
using Perspex.Interactivity;
using Perspex.Metadata;
namespace Perspex.Controls.Primitives
{
@ -84,6 +85,7 @@ namespace Perspex.Controls.Primitives
set { SetValue(OrientationProperty, value); }
}
[Content]
public Thumb Thumb
{
get { return GetValue(ThumbProperty); }

Loading…
Cancel
Save