WebViewBrush Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
public ref class WebViewBrush sealed : TileBrush
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class WebViewBrush final : TileBrush
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class WebViewBrush final : TileBrush
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class WebViewBrush : TileBrush
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class WebViewBrush : TileBrush
Public NotInheritable Class WebViewBrush
Inherits TileBrush
<WebViewBrush .../>
- Herança
- Atributos
Requisitos do Windows
Família de dispositivos |
Windows 10 (introduzida na 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
|
Exemplos
O exemplo de código específico do Windows 8 a seguir demonstra como usar um WebViewBrush para habilitar o conteúdo baseado em XAML para sobrepor conteúdo baseado em HTML. Neste exemplo, o controle WebView é exibido por padrão para que ele permaneça interativo. No entanto, quando a lista suspensa ComboBox está aberta, ela se sobrepõe ao controle WebView . Nesse caso, o WebView está oculto e o WebViewBrush exibe o conteúdo HTML em um Retângulo ocupando o mesmo espaço.
<Grid x:Name="Output" Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<ComboBox x:Name="ComboBox1" Height="50" Width="200" HorizontalAlignment="Left" Margin="10,0,0,0">
<ComboBoxItem>
<x:String>First Item</x:String>
</ComboBoxItem>
<ComboBoxItem>
<x:String>Second Item</x:String>
</ComboBoxItem>
<ComboBoxItem>
<x:String>Third Item</x:String>
</ComboBoxItem>
<ComboBoxItem>
<x:String>Fourth Item</x:String>
</ComboBoxItem>
<ComboBoxItem>
<x:String>Fifth Item</x:String>
</ComboBoxItem>
<ComboBoxItem>
<x:String>Sixth Item</x:String>
</ComboBoxItem>
<ComboBoxItem>
<x:String>Seventh Item</x:String>
</ComboBoxItem>
</ComboBox>
<Border BorderThickness="1" BorderBrush="#FF707070" Grid.Row="1" Margin="10,0,0,0">
<Grid>
<WebView x:Name="WebView6" />
<Rectangle x:Name="Rect1"/>
</Grid>
</Border>
</Grid>
void SDKSample::WebViewControl::Scenario6::ComboBox1_DropDownOpened(
Platform::Object^ sender, Platform::Object^ e)
{
if (Rect1->Visibility == Windows::UI::Xaml::Visibility::Visible)
{
WebViewBrush^ b = ref new WebViewBrush();
b->SourceName = "WebView6";
b->Redraw();
Rect1->Fill = b;
WebView6->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
}
}
void SDKSample::WebViewControl::Scenario6::ComboBox1_DropDownClosed(
Platform::Object^ sender, Platform::Object^ e)
{
WebView6->Visibility = Windows::UI::Xaml::Visibility::Visible;
Rect1->Fill = ref new SolidColorBrush(Windows::UI::Colors::Transparent);
}
void ComboBox1_DropDownOpened(object sender, object e)
{
if (Rect1.Visibility == Windows.UI.Xaml.Visibility.Visible)
{
WebViewBrush b = new WebViewBrush();
b.SourceName = "WebView6";
b.Redraw();
Rect1.Fill = b;
WebView6.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
}
}
void ComboBox1_DropDownClosed(object sender, object e)
{
WebView6.Visibility = Windows.UI.Xaml.Visibility.Visible;
Rect1.Fill = new SolidColorBrush(Windows.UI.Colors.Transparent);
}
Private Sub ComboBox1_DropDownOpened(sender As Object, e As Object)
If Rect1.Visibility = Windows.UI.Xaml.Visibility.Visible Then
Dim b As New WebViewBrush()
b.SourceName = "WebView6"
b.Redraw()
Rect1.Fill = b
WebView6.Visibility = Windows.UI.Xaml.Visibility.Collapsed
End If
End Sub
Private Sub ComboBox1_DropDownClosed(sender As Object, e As Object)
WebView6.Visibility = Windows.UI.Xaml.Visibility.Visible
Rect1.Fill = New SolidColorBrush(Windows.UI.Colors.Transparent)
End Sub
Comentários
No Windows 8, o controle WebView tem a característica de que outras regiões da interface do usuário, como controles, não podem ser renderizadas sobre ele. Isso ocorre devido à forma como as regiões de janela são tratadas internamente, especialmente como os eventos de entrada são processados e como a tela desenha. Se você quiser renderizar o conteúdo HTML e também colocar outros elementos de interface do usuário sobre esse conteúdo HTML, deverá usar WebViewBrush como a área de renderização. O WebView ainda fornece as informações de origem HTML e você faz referência a esse WebView por meio da propriedade SourceName (ou chamando SetSource, o método e a propriedade produzem os mesmos resultados). O WebViewBrush não tem essa limitação de sobreposição, mas não habilita a interação.
Observação
As observações anteriores se aplicam somente a aplicativos compilados para Windows 8, mesmo quando executados em Windows 8.1. Windows 8.1 apresenta alterações no controle WebView que corrige os problemas descritos aqui. Para Windows 8.1, é esperado que os cenários em que você ainda usará um WebViewBrush não sejam muito comuns. Na maioria dos casos, você pode usar apenas um controle WebView e obter a funcionalidade necessária.
Você pode aplicar um WebViewBrush a qualquer propriedade que usa um Brush. Por exemplo, você pode definir Shape.Fill ou Control.Background com um WebViewBrush.
Há duas alternativas para associar um WebViewBrush a uma fonte de controle webview :
- Referencie o WebView de origem pelo nome do identificador, definindo a propriedade SourceName .
- Referencie o WebView de origem por referência, chamando o método SetSource e passando um objeto WebView .
Importante
Geralmente, é necessário chamar Redraw para um WebViewBrush declarado em XAML na mesma interface do usuário que é a origem do WebView . Um controle WebView tem um comportamento inerentemente assíncrono que redesenha o controle quando seu conteúdo é completamente carregado. Mas um WebViewBrush associado é renderizado assim que o XAML é analisado (que pode ser antes do conteúdo do URI ser carregado pelo WebView). Como alternativa, você pode esperar para chamar SetSource no WebViewBrush até que o conteúdo de origem seja totalmente carregado (por exemplo, chamando SetSource no manipulador para o evento WebView.LoadCompleted .
Não há suporte para essa classe no Windows Phone 8.x. O conteúdo do WebView não será capturado.
Construtores
WebViewBrush() |
Inicializa uma nova instância da classe WebViewBrush . |
Propriedades
AlignmentX |
Obtém ou define o alinhamento horizontal do conteúdo no bloco base TileBrush . (Herdado de TileBrush) |
AlignmentY |
Obtém ou define o alinhamento vertical do conteúdo no bloco base do TileBrush . (Herdado de TileBrush) |
Dispatcher |
Obtém o CoreDispatcher ao qual esse objeto está associado. O CoreDispatcher representa uma instalação que pode acessar DependencyObject no thread da interface do usuário mesmo que o código seja iniciado por um thread que não seja da interface do usuário. (Herdado de DependencyObject) |
Opacity |
Obtém ou define o grau de opacidade de um pincel. (Herdado de Brush) |
RelativeTransform |
Obtém ou define a transformação que é aplicada ao pincel, usando coordenadas relativas. (Herdado de Brush) |
SourceName |
Obtém ou define o nome do controle WebView de origem que fornece o conteúdo HTML. |
SourceNameProperty |
Identifica a propriedade de dependência SourceName . |
Stretch |
Obtém ou define um valor que especifica como o conteúdo desse TileBrush se estende para caber em seus blocos. (Herdado de TileBrush) |
Transform |
Obtém ou define a transformação que é aplicada ao pincel. (Herdado de Brush) |
Métodos
ClearValue(DependencyProperty) |
Limpa o valor local de uma propriedade de dependência. (Herdado de DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
Retorna qualquer valor base estabelecido para uma propriedade de dependência, que se aplicaria nos casos em que uma animação não está ativa. (Herdado de DependencyObject) |
GetValue(DependencyProperty) |
Retorna o valor efetivo atual de uma propriedade de dependência de um DependencyObject. (Herdado de DependencyObject) |
PopulatePropertyInfo(String, AnimationPropertyInfo) |
Define uma propriedade que pode ser animada. (Herdado de Brush) |
PopulatePropertyInfoOverride(String, AnimationPropertyInfo) |
Quando substituído em uma classe derivada, define uma propriedade que pode ser animada. (Herdado de Brush) |
ReadLocalValue(DependencyProperty) |
Retorna o valor local de uma propriedade de dependência, se um valor local for definido. (Herdado de DependencyObject) |
Redraw() |
Faz com que o WebViewBrush obtenha pixels de origem atualizados do WebView associado e seu conteúdo atual. Isso acontece de forma assíncrona. |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Registra uma função de notificação para escutar alterações em uma DependencyProperty específica nesta instância dependencyObject . (Herdado de DependencyObject) |
SetSource(WebView) |
Define a origem do conteúdo para o WebViewBrush. |
SetValue(DependencyProperty, Object) |
Define o valor local de uma propriedade de dependência em um DependencyObject. (Herdado de DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Cancela uma notificação de alteração que foi registrada anteriormente chamando RegisterPropertyChangedCallback. (Herdado de DependencyObject) |