1
我想爲我的Win 8.1應用程序設計一個滑塊。爲此,我用TargetType「Slider」創建了一個新的樣式。WinRT的cumstom滑塊風格
<Style x:Key="SliderThumbStyle" TargetType="Thumb">
<Setter Property="Background" Value="{StaticResource ThumbBackgroundThemeBrush}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="IsTabStop" Value="False" />
<Setter Property="BorderBrush" Value="{StaticResource ThumbBorderThemeBrush}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Thumb">
<Grid>
<Border BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="Slider">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Slider">
<Grid>
<Border Height="45"
VerticalAlignment="Stretch"
Background="Transparent" />
<Grid x:Name="MainDisplay" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="13" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="13" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Ellipse Grid.Row="0" Grid.Column="0" Height="13" Width="13" Stroke="#7B838A" StrokeThickness="3"/>
<Rectangle Grid.Row="0"
Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Stretch="Fill"
Fill="#7B838A"
Height="3"/>
<Ellipse Grid.Row="0" Grid.Column="2" Height="13" Width="13" Stroke="#7B838A" StrokeThickness="3"/>
</Grid>
<Canvas>
<Thumb x:Name="PART_Thumb"
Background="#D7DEE5"
Style="{StaticResource SliderThumbStyle}"
Width="160"
Height="45"
Opacity="0.5"
Canvas.ZIndex="-1"
VerticalAlignment="Center"/>
</Canvas>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
在我的網頁我使用滑塊是這樣的:
<Slider VerticalAlignment="Bottom" />
到目前爲止好滑塊看起來像我想要的。 但滑塊被凍結,「拇指」停留在左側,我無法移動它。 這是爲什麼發生?我需要改變,我可以移動滑塊?
非常感謝