2009-09-01 21 views
4

トラックをスライダに変更したいと考えています。これを行う方法はありますか?スライダのトラックテンプレートをどのように変更しますか?

<Track x:Name="PART_Track" Grid.Row="1"> 
    <Track.DecreaseRepeatButton> 
     <RepeatButton Style="{StaticResource SliderRepeatButtonStyle}" Command="{x:Static Slider.DecreaseLarge}"/> 
    </Track.DecreaseRepeatButton> 
    <Track.IncreaseRepeatButton> 
     <RepeatButton Style="{StaticResource SliderRepeatButtonStyle}" Command="{x:Static Slider.IncreaseLarge}"/> 
    </Track.IncreaseRepeatButton> 
    <Track.Thumb> 
     <Thumb x:Name="Thumb" Style="{StaticResource HorizontalSliderThumbStyle}"/> 
    </Track.Thumb> 

答えて

4

トラックがちょうど親指とリピートボタンlink textの配置を処理します。トラックの実際の外観はスライダーのテンプレートにあります。

コントロールテンプレート

<ControlTemplate TargetType="{x:Type Slider}"> 
<Border SnapsToDevicePixels="true" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"> 
    <Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"/> 
      <RowDefinition Height="Auto" MinHeight="{TemplateBinding MinHeight}"/> 
      <RowDefinition Height="Auto"/> 
     </Grid.RowDefinitions> 
     <TickBar x:Name="TopTick" Height="4" Visibility="Collapsed" Grid.Row="0" Fill="{TemplateBinding Foreground}" Placement="Top"/> 
     <TickBar x:Name="BottomTick" Height="4" Visibility="Collapsed" Grid.Row="2" Fill="{TemplateBinding Foreground}" Placement="Bottom"/> 
     <Border Margin="5,0" VerticalAlignment="center" Height="20.0" Grid.Row="1" Background="{StaticResource HorizontalSliderTrackNormalBackground}" BorderBrush="{StaticResource HorizontalSliderTrackNormalBorder}" BorderThickness="1" CornerRadius="1"> 
      <Canvas Margin="-6,-1"> 
       <Rectangle x:Name="PART_SelectionRange" Fill="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" Stroke="{DynamicResource {x:Static SystemColors.ControlDarkDarkBrushKey}}" StrokeThickness="1.0" Height="4.0" Visibility="visible"/> 
      </Canvas> 
     </Border> 
     <Track x:Name="PART_Track" Grid.Row="1"> 
      <Track.DecreaseRepeatButton> 
       <RepeatButton Style="{StaticResource SliderRepeatButtonStyle}" Command="{x:Static Slider.DecreaseLarge}"/> 
      </Track.DecreaseRepeatButton> 
      <Track.IncreaseRepeatButton> 
       <RepeatButton Style="{StaticResource SliderRepeatButtonStyle}" Command="{x:Static Slider.IncreaseLarge}"/> 
      </Track.IncreaseRepeatButton> 
      <Track.Thumb> 
       <Thumb x:Name="Thumb" Style="{StaticResource HorizontalSliderThumbStyle}"/> 
      </Track.Thumb> 
     </Track> 
    </Grid> 
</Border> 

に、以下のエリア、PART_SelectionRangeを変更する "トラック" の外観を変更します
関連する問題