Como: Extend the Style of a DocumentViewer
Este exemplo mostra como estender o estilo padrão de um controle DocumentViewer.
Exemplo
O código Extensible Application Markup Language (XAML) a seguir define uma janela que contém um controle DocumentViewer e um estilo que acompanha. Este estilo de exemplo usa o atributo BasedOn para estender o estilo padrão DocumentViewer. Nesse caso, o estilo exemplo simplesmente reflete o gradiente do plano de fundo usado pelo estilo padrão da barra de ferramentas e o aplica ao plano de fundo da área de exibição de conteúdo.
<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>
A figura a seguir mostra como o DocumentViewer com estilo nesse exemplo processa (com nenhum conteúdo):
Exemplo de um controle de visualizador de documentos com o estilo padrão estendido.
Comentários de tarefas
Como o estilo mostrado nesse exemplo amplia o estilo padrão do DocumentViewer em vez de substituí-lo, elementos interface do usuário (UI) definidos pelo estilo padrão do Visualizador de Documentos (como a barra de ferramentas e menu de contexto) ainda são mostradas.
Um estilo é aplicado por correlacionando a chave de estilo (Tecla: x) com o valor referenciado por um atributo Style do elemento. Na apresentação do exemplo acima, a chave de estilo é "MyDVStyleReplace". A chave em si é um valor da sequência de caracteres arbitrário que deve ser exclusiva dentro do escopo atual.
Estilos definidos como recursos locais devem por referenciados como um recurso estático, usando a sintaxe Recurso Estático mostrada no exemplo acima.
O estilo e Modelo de Controle usam TargetType para indicar que o estilo é aplicável somente a controles DocumentViewer. Uma incompatibilidade entre o tipo de destino para o estilo ou modelo de controle e o elemento ao qual o estilo é aplicado irá gerar uma exceção InvalidOperationException.
Consulte também
Tarefas
Como: Replace the Style of a DocumentViewer