Sumith Peringathara Ответов: 1

Проблема положения полосы прокрутки по умолчанию в WPF


Привет,

У меня есть экран WPF, на котором полосы прокрутки по умолчанию отображаются в правой и нижней частях экрана. По умолчанию он нужен мне в левой и верхней частях экрана.Я использую scrollbarviewer с горизонтальной/вертикальной scrollbarvisibility=Auto.
Пожалуйста, помогите мне отобразить полосы прокрутки в начальном положении экрана, чтобы пользователю не нужно было прокручивать его, чтобы увидеть начальную точку экрана.
Заранее спасибо.

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

&ЛТ;объект ScrollViewer HorizontalScrollBarVisibility="авто" VerticalScrollBarVisibility="авто"и GT;

1 Ответов

Рейтинг:
0

User 7429338

Вы можете переместить расположение полосы прокрутки с помощью Панели Управления.
В MSDN есть пример установки вертикальной полосы слева: Пример Объект ScrollViewer Объект Controltemplate [^]

Чтобы поместить горизонтальную полосу сверху, измените ее сетку.Подряд на 0 и регулировать ряд определений так, что в первом ряду стоит авто. ScrollContentPresenter идет в строке 1.

<Style x:Key="LeftScrollViewer" TargetType="{x:Type ScrollViewer}">
  <Setter Property="OverridesDefaultStyle" Value="True"/>
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="{x:Type ScrollViewer}">
        <Grid>
          <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition/>
          </Grid.ColumnDefinitions>
          <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition/>
          </Grid.RowDefinitions>

          <ScrollContentPresenter Grid.Column="1" Grid.Row="1"/>

          <ScrollBar Name="PART_VerticalScrollBar"
            Value="{TemplateBinding VerticalOffset}"
            Maximum="{TemplateBinding ScrollableHeight}"
            ViewportSize="{TemplateBinding ViewportHeight}"
            Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}"/>
          <ScrollBar Name="PART_HorizontalScrollBar"
            Orientation="Horizontal"
            Grid.Column="1"
            Value="{TemplateBinding HorizontalOffset}"
            Maximum="{TemplateBinding ScrollableWidth}"
            ViewportSize="{TemplateBinding ViewportWidth}"
            Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}"/>
          
        </Grid>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>