blob: a1873acca320398173757d6ee988182e081aaaab (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converters="clr-namespace:Tango.Touch.Converters"
xmlns:dragAndDrop="clr-namespace:Tango.DragAndDrop;assembly=Tango.DragAndDrop"
xmlns:local="clr-namespace:Tango.Touch.Controls">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
<converters:ScrollViewerThumbSizeConverter x:Key="ScrollViewerThumbSizeConverter" />
<converters:ScrollViewerScrollBarVisibilityConverter x:Key="ScrollViewerScrollBarVisibilityConverter" />
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
<Style TargetType="{x:Type local:LightTouchScrollViewer}">
<Setter Property="ScrollBarBackground" Value="#33000000"></Setter>
<Setter Property="ScrollBarForeground" Value="#90000000"></Setter>
<Setter Property="ScrollBarWidth" Value="5"></Setter>
<Setter Property="ScrollBarCornerRadius" Value="3"></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:LightTouchScrollViewer}">
<Grid>
<Border x:Name="PART_Border" ClipToBounds="True" Background="Transparent">
<Grid x:Name="PART_Grid_Content" Background="Transparent" VerticalAlignment="Top">
<ContentPresenter x:Name="PART_Content_Presenter" Content="{TemplateBinding Content}" VerticalAlignment="Top" Height="Auto" />
</Grid>
</Border>
<Canvas Margin="0 0 5 0" x:Name="PART_canvas" HorizontalAlignment="Right" VerticalAlignment="Stretch" Width="{TemplateBinding ScrollBarWidth}" Background="{TemplateBinding ScrollBarBackground}">
<Canvas.Visibility>
<MultiBinding Converter="{StaticResource ScrollViewerScrollBarVisibilityConverter}">
<Binding ElementName="PART_Border" Path="ActualHeight" />
<Binding ElementName="PART_Grid_Content" Path="ActualHeight" />
</MultiBinding>
</Canvas.Visibility>
<Canvas.Style>
<Style TargetType="Canvas">
<Setter Property="Opacity" Value="0"></Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource TemplatedParent},Path=IsScrolling}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" To="1" Duration="00:00:0.2"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" To="0" BeginTime="00:00:01" Duration="00:00:01"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Canvas.Style>
<Border x:Name="PART_Thumb_Border" CornerRadius="{TemplateBinding ScrollBarCornerRadius}" Canvas.Top="0" Width="{Binding ElementName=PART_canvas,Path=ActualWidth}" Background="{TemplateBinding ScrollBarForeground}">
<Border.Height>
<MultiBinding Converter="{StaticResource ScrollViewerThumbSizeConverter}">
<Binding ElementName="PART_Border" Path="ActualHeight" />
<Binding ElementName="PART_Grid_Content" Path="ActualHeight" />
</MultiBinding>
</Border.Height>
<Thumb x:Name="PART_Thumb" Opacity="0" Background="Transparent" />
</Border>
</Canvas>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
|