Condividi tramite


Esempio di ControlTemplate del controllo ScrollViewer

Aggiornamento: novembre 2007

I controlli disponibili in Windows Presentation Foundation (WPF) includono un oggetto ControlTemplate che contiene la relativa struttura ad albero visuale. È possibile modificare la struttura e l'aspetto di un controllo modificando il relativo oggetto ControlTemplate. Non è possibile sostituire solo una parte della struttura ad albero visuale di un controllo. Per modificare la struttura ad albero visuale di un controllo, è necessario impostare la proprietà Template di tale controllo sul relativo oggetto ControlTemplate nuovo e completo.

In questo argomento viene illustrato l'oggetto ControlTemplate del controllo ScrollViewer di WPF.

Nel presente argomento sono contenute le seguenti sezioni.

  • Prerequisiti
  • Esempio di ControlTemplate del controllo ScrollViewer
  • Argomenti correlati

Prerequisiti

Per eseguire gli esempi di questo argomento, è necessario disporre di conoscenze su come scrivere applicazioni WPF. Per ulteriori informazioni, vedere Guida introduttiva a Windows Presentation Foundation. È inoltre necessario comprendere l'utilizzo degli stili in WPF. Per ulteriori informazioni, vedere Applicazione di stili e modelli.

Esempio di ControlTemplate del controllo ScrollViewer

Anche se questo esempio contiene tutti gli elementi definiti nell'oggetto ControlTemplate di un controllo ScrollViewer per impostazione predefinita, i valori specifici devono essere considerati come esempi.

<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/>
            <RowDefinition Height="Auto"/>
          </Grid.RowDefinitions>

          <ScrollContentPresenter Grid.Column="1"/>

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

        </Grid>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

Per l'esempio completo, vedere Esempio di applicazione di stili con ControlTemplate.

Vedere anche

Concetti

Esempio di ControlTemplate del controllo ScrollBar

Linee guida per la progettazione di controlli a cui è possibile applicare degli stili

Altre risorse

Esempi di ControlTemplate