WebViewBrush Clase

Definición

Proporciona un pincel que representa el contenido hospedado actualmente en un control WebView .

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 .../>
Herencia
Object Platform::Object IInspectable DependencyObject Brush TileBrush WebViewBrush
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)

Ejemplos

En el siguiente ejemplo de código específico de Windows 8 se muestra cómo usar un objeto WebViewBrush para permitir que el contenido basado en XAML se superponga al contenido basado en HTML. En este ejemplo, el control WebView se muestra de forma predeterminada para que permanezca interactivo. Sin embargo, cuando la lista desplegable ComboBox está abierta, se superpone al control WebView . En este caso, webView está oculto y WebViewBrush muestra el contenido HTML en un rectángulo que ocupa el mismo espacio.

<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

Comentarios

En Windows 8, el control WebView tiene la característica de que otras regiones de interfaz de usuario, como los controles, no se pueden representar sobre él. Esto se debe a cómo se controlan internamente las regiones de ventana, especialmente cómo se procesan los eventos de entrada y cómo dibuja la pantalla. Si desea representar contenido HTML y colocar también otros elementos de la interfaz de usuario sobre ese contenido HTML, debe usar WebViewBrush como área de representación. WebView sigue proporciona la información de origen HTML y se hace referencia a webView a través de la propiedad SourceName (o llamando a SetSource, el método y la propiedad producen los mismos resultados). WebViewBrush no tiene esta limitación de superposición, pero no habilita la interacción.

Nota

Los comentarios anteriores solo se aplican a las aplicaciones compiladas para Windows 8, incluso cuando se ejecutan en Windows 8.1. Windows 8.1 introduce cambios en el control WebView que corrigen los problemas descritos aquí. Por Windows 8.1, se prevé que los escenarios en los que seguirá usando un objeto WebViewBrush no serán muy comunes. En la mayoría de los casos, puede usar un control WebView y obtener la funcionalidad que necesita.

Puede aplicar un Objeto WebViewBrush a cualquier propiedad que tome un brush. Por ejemplo, puede establecer Shape.Fill o Control.Background con un Objeto WebViewBrush.

Hay dos alternativas para asociar un objeto WebViewBrush con un origen de control WebView :

  • Haga referencia a webView de origen por su nombre de identificador estableciendo la propiedad SourceName .
  • Haga referencia a webView de origen por referencia llamando al método SetSource y pasando un objeto WebView .

Importante

A menudo es necesario llamar a Redraw para un Objeto WebViewBrush que se declara en XAML en la misma interfaz de usuario que es el origen de WebView . Un control WebView tiene un comportamiento asincrónico inherentemente que vuelve a dibujar el control cuando su contenido está completamente cargado. Sin embargo, un Objeto WebViewBrush asociado se representa en cuanto se analiza el XAML (que puede estar antes de que el contenido del URI se cargue mediante WebView). Como alternativa, puede esperar a llamar a SetSource en WebViewBrush hasta que el contenido de origen esté completamente cargado (por ejemplo, llamando a SetSource en el controlador para el evento WebView.LoadCompleted .

Esta clase no se admite en Windows Phone 8.x. El contenido de WebView no se capturará.

Constructores

WebViewBrush()

Inicializa una nueva instancia de la clase WebViewBrush .

Propiedades

AlignmentX

Obtiene o establece la alineación horizontal del contenido en el icono base de TileBrush .

(Heredado de TileBrush)
AlignmentY

Obtiene o establece la alineación vertical del contenido en el icono base de TileBrush .

(Heredado de TileBrush)
Dispatcher

Obtiene el CoreDispatcher al que está asociado este objeto. CoreDispatcher representa una instalación que puede tener acceso a DependencyObject en el subproceso de interfaz de usuario incluso si un subproceso que no es de interfaz de usuario inicia el código.

(Heredado de DependencyObject)
Opacity

Obtiene o establece el grado de opacidad de un pincel.

(Heredado de Brush)
RelativeTransform

Obtiene o establece la transformación que se aplica al pincel mediante coordenadas relativas.

(Heredado de Brush)
SourceName

Obtiene o establece el nombre del control WebView de origen que proporciona el contenido HTML.

SourceNameProperty

Identifica la propiedad de dependencia SourceName .

Stretch

Obtiene o establece un valor que especifica cómo se extiende el contenido de este TileBrush para ajustarse a sus iconos.

(Heredado de TileBrush)
Transform

Obtiene o establece la transformación que se aplica al pincel.

(Heredado de Brush)

Métodos

ClearValue(DependencyProperty)

Borra el valor local de una propiedad de dependencia.

(Heredado de DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Devuelve cualquier valor base establecido para una propiedad de dependencia, que se aplicaría en los casos en los que una animación no está activa.

(Heredado de DependencyObject)
GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia de dependencyObject.

(Heredado de DependencyObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Define una propiedad que se puede animar.

(Heredado de Brush)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

Cuando se invalida en una clase derivada, define una propiedad que se puede animar.

(Heredado de Brush)
ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si se establece un valor local.

(Heredado de DependencyObject)
Redraw()

Hace que WebViewBrush obtenga píxeles de origen actualizados de la vista web asociada y su contenido actual. Esto sucede de forma asincrónica.

RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una función de notificación para escuchar los cambios en una dependencyProperty específica en esta instancia de DependencyObject .

(Heredado de DependencyObject)
SetSource(WebView)

Establece el origen del contenido de WebViewBrush.

SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia en dependencyObject.

(Heredado de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Cancela una notificación de cambio registrada anteriormente llamando a RegisterPropertyChangedCallback.

(Heredado de DependencyObject)

Se aplica a

Consulte también