Comment : étendre le style d'un DocumentViewer
Mise à jour : novembre 2007
Cet exemple indique comment étendre le style par défaut d'un contrôle DocumentViewer.
Exemple
Le code XAML (Extensible Application Markup Language) suivant définit une fenêtre qui contient un contrôle DocumentViewer et un style d'accompagnement. Ce style d'exemple utilise l'attribut BasedOn pour étendre le style DocumentViewer par défaut. Dans ce cas, le style d'exemple reflète simplement le dégradé d'arrière-plan utilisé par le style de barre d'outils par défaut, et l'applique à l'arrière-plan de la zone d'affichage de contenu.
<Window x:Class="SDKSample.Window1"
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml">
<Window.Resources>
<Style
x:Key="MyDVStyleExtend"
BasedOn="{StaticResource {x:Type DocumentViewer}}"
TargetType="{x:Type DocumentViewer}">
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Offset="0.0" Color="#CC99CCFF" />
<GradientStop Offset="1.0" Color="White" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Grid>
<DocumentViewer Style="{StaticResource MyDVStyleExtend}" Name="MyDocumentViewer"/>
</Grid>
</Window>
L'illustration suivante montre comment s'affiche le DocumentViewer mis en forme avec des styles dans cet exemple (sans contenu) :
Exemple d'un contrôle DocumentViewer avec le style par défaut étendu.
Notes de tâche
Comme le style affiché dans cet exemple étend le style par défaut DocumentViewer plutôt que de le remplacer, les éléments interface utilisateur (UI) définis par le style DocumentViewer par défaut (par exemple la barre d'outils et le menu contextuel) sont toujours affichés.
Un style est appliqué en faisant correspondre la clé de style (x:Key) à la valeur référencée par un attribut Style d'élément. Dans l'exemple montré ci-dessus, la clé de style est "MyDVStyleReplace". La clé elle-même est une valeur de chaîne arbitraire qui doit être unique dans la portée actuelle.
Les styles définis comme ressources locales doivent être référencés comme une ressource statique, à l'aide de la syntaxe StaticResource indiquée dans l'exemple ci-dessus.
Le style et ControlTempate utilisent TargetType pour indiquer que le style est uniquement applicable aux contrôles DocumentViewer. Une incompatibilité entre le type de cible pour le style ou modèle de contrôle et l'élément auquel le style est appliqué déclenchera une exception InvalidOperationException.
Voir aussi
Tâches
Comment : remplacer le style d'un DocumentViewer