Здесь можно найти стиль MediaTransportControls
по умолчанию здесь , который также включает полный код стиля для индикатора выполнения.
MediaTransportControls
состоит из нескольких элементов управления. Индикатор выполнения в основном состоит из Slider
и Thumb
, но он не отображает такие состояния, как ThumbFocus
, только регулярные состояния, такие как PointerOver
, Pressed
, et c.
В коде по умолчанию мы можем изменить размер большого пальца, изменив ширину / высоту HorizontalThumb
:
...
<!-- Default width / height are 24 -->
<Thumb x:Name="HorizontalThumb"
Style="{StaticResource SliderThumbStyle}"
Height="10"
Width="10"
Grid.Row="0"
Grid.RowSpan="3"
Grid.Column="1"
FocusVisualMargin="-14,-6,-14,-6"
AutomationProperties.AccessibilityView="Raw">
...
Затем измените размер большого пальца в состоянии PointerOver
и Pressed
состояние:
<VisualState x:Name="Pressed">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalThumb" Storyboard.TargetProperty="Width">
<DiscreteObjectKeyFrame KeyTime="0" Value="24" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="HorizontalThumb" Storyboard.TargetProperty="Height">
<DiscreteObjectKeyFrame KeyTime="0" Value="24" />
</ObjectAnimationUsingKeyFrames>
...
</Storyboard>
</VisualState>
Хорошо работает в режиме клавиатуры и мыши, но не будет действовать, если элемент управления выбран переключением фокуса.
Если этот эффект важен, вы можете нужно переписать Slider
и создавать события при получении фокуса.
С уважением.