В WPF шаблон элемента управления используется для «оформления» элемента управления с помощью набора элементов, которые составляют внешний вид и поведение элемента управления.Вам не нужно знать больше, чем это, чтобы начать использовать шаблоны управления.Шаги для настройки шаблона элемента управления:
- Найти стиль по умолчанию для
ElementName
(который включает шаблон элемента управления) с использованием MSDN, ShowMeTheTemplate, Expression Blend или файлов тем - Копироватьстиль по умолчанию для ресурсов вашего приложения, обычно в
App.xaml
или в ресурсах элемента, таких как Window
или Grid
- Изменить ключ с
x:Key="{x:Type ElementName}"
на x:Key="myStyleName"
- Изменение шаблона элемента управления для добавления, удаления или изменения элементов и свойств по умолчанию
- Используйте этот стиль в случаях
ElementName
, добавив атрибут Style="{StaticResource myStyleName}"
Итак, давайте сделаем это. Вот стиль по умолчанию для DocumentViewer
из MSDN.Мы видим большой раздел, начинающийся с <ToolBar ...>
, поэтому мы удалим все это.Затем, если вы выполните остальные шаги, вы получите XAML, например:
<Grid>
<Grid.Resources>
<Style x:Key="documentViewerNoToolbarStyle"
TargetType="{x:Type DocumentViewer}">
<Setter Property="Foreground"
Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}" />
<Setter Property="Background"
Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" />
<Setter Property="FocusVisualStyle"
Value="{x:Null}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DocumentViewer}">
<Border BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"
Focusable="False">
<Grid KeyboardNavigation.TabNavigation="Local">
<Grid.Background>
<SolidColorBrush Color="{DynamicResource ControlLightColor}" />
</Grid.Background>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ScrollViewer Grid.Row="1"
CanContentScroll="true"
HorizontalScrollBarVisibility="Auto"
x:Name="PART_ContentHost"
IsTabStop="true">
<ScrollViewer.Background>
<LinearGradientBrush EndPoint="0.5,1"
StartPoint="0.5,0">
<GradientStop Color="{DynamicResource ControlLightColor}"
Offset="0" />
<GradientStop Color="{DynamicResource ControlMediumColor}"
Offset="1" />
</LinearGradientBrush>
</ScrollViewer.Background>
</ScrollViewer>
<ContentControl Grid.Row="2"
x:Name="PART_FindToolBarHost"/>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Grid.Resources>
<DocumentViewer Style="{StaticResource documentViewerNoToolbarStyle}"/>
</Grid>