Member 13338759 Ответов: 1

Установить ширину полосы прокрутки равной ширине большого пальца WPF


Я создаю полосу прокрутки по следующей ссылке:
Как создать Apple MacOS, как Scrollbar в WPF | This Dot Life[^]
И я хочу удалить всю внешнюю часть большого пальца, например, красную часть изображения followwing:
sample. png-Google Диск[^]

Что я уже пробовал:

Пожалуйста, скажите мне любое решение этой проблемы.Спасибо

Afzaal Ahmad Zeeshan

Какие элементы управления вы используете? Каковы предельные значения для них? Трудно помочь вам с меньшим количеством информации.

1 Ответов

Рейтинг:
2

Pete O'Hanlon

Попробуйте изменить стиль на этот:

<Style x:Key="ScrollBarTrackThumb"

        TargetType="{x:Type Thumb}">
      <Setter Property="Template">
        <Setter.Value>
          <ControlTemplate TargetType="{x:Type Thumb}">
            <Grid x:Name="Grid">
              <Rectangle HorizontalAlignment="Stretch"

                                VerticalAlignment="Stretch"

                                Width="Auto"

                                Height="Auto"

                                Fill="Transparent" />
              <Border x:Name="CornerScrollBarRectangle"

                            CornerRadius="8"

                            HorizontalAlignment="Stretch"

                            VerticalAlignment="Stretch"

                            Width="Auto"

                            Height="Auto"

                            Margin="0,1,0,1"

                            Background="{TemplateBinding Background}" />
            </Grid>
            <ControlTemplate.Triggers>
              <Trigger Property="Tag"

                                Value="Horizontal">
                <Setter TargetName="CornerScrollBarRectangle"

                                Property="Width"

                                Value="Auto" />
                <Setter TargetName="CornerScrollBarRectangle"

                                Property="Height"

                                Value="6" />
              </Trigger>
            </ControlTemplate.Triggers>
          </ControlTemplate>
        </Setter.Value>
      </Setter>
    </Style>
<Style TargetType="{x:Type ScrollBar}">
  <Setter Property="Width" Value="4" />
  <Setter Property="Stylus.IsFlicksEnabled"

        Value="false" />
  <Setter Property="Foreground"

        Value="#ADABAB" />
  <Setter Property="Background"

        Value="Transparent" />
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="{x:Type ScrollBar}">
        <Grid x:Name="GridRoot"

                    Background="{TemplateBinding Background}">
          <Grid.RowDefinitions>
            <RowDefinition Height="0.00001*" />
          </Grid.RowDefinitions>
          <Track x:Name="PART_Track"

                        Grid.Row="0"

                        IsDirectionReversed="true"

                        Focusable="false">
            <Track.Thumb>
              <Thumb x:Name="Thumb"

                                Background="{TemplateBinding Foreground}"

                                Style="{DynamicResource ScrollBarTrackThumb}" />
            </Track.Thumb>
            <Track.IncreaseRepeatButton>
              <RepeatButton x:Name="PageUp"

                                        Command="ScrollBar.PageDownCommand"

                                        Opacity="0"

                                        Focusable="false" />
            </Track.IncreaseRepeatButton>
            <Track.DecreaseRepeatButton>
              <RepeatButton x:Name="PageDown"

                                        Command="ScrollBar.PageUpCommand"

                                        Opacity="0"

                                        Focusable="false" />
            </Track.DecreaseRepeatButton>
          </Track>
        </Grid>
        <ControlTemplate.Triggers>
          <Trigger SourceName="Thumb"

                            Property="IsMouseOver"

                            Value="true">
            <Setter Value="{DynamicResource ButtonSelectBrush}"

                            TargetName="Thumb"

                            Property="Background" />
          </Trigger>
          <Trigger SourceName="Thumb"

                            Property="IsDragging"

                            Value="true">
            <Setter Value="{DynamicResource DarkBrush}"

                            TargetName="Thumb"

                            Property="Background" />
          </Trigger>

          <Trigger Property="IsEnabled"

                            Value="false">
            <Setter TargetName="Thumb"

                            Property="Visibility"

                            Value="Collapsed" />
          </Trigger>
          <Trigger Property="Orientation"

                            Value="Horizontal">
            <Setter TargetName="GridRoot"

                            Property="LayoutTransform">
              <Setter.Value>
                <RotateTransform Angle="-90" />
              </Setter.Value>
            </Setter>
            <Setter TargetName="PART_Track"

                            Property="LayoutTransform">
              <Setter.Value>
                <RotateTransform Angle="-90" />
              </Setter.Value>
            </Setter>
            <Setter Property="Width"

                            Value="Auto" />
            <Setter Property="Height"

                            Value="6" />
            <Setter TargetName="Thumb"

                            Property="Tag"

                            Value="Horizontal" />
            <Setter TargetName="PageDown"

                            Property="Command"

                            Value="ScrollBar.PageLeftCommand" />
            <Setter TargetName="PageUp"

                            Property="Command"

                            Value="ScrollBar.PageRightCommand" />
          </Trigger>
        </ControlTemplate.Triggers>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>
Этого должно хватить.