Partage via


WebViewBrush Classe

Définition

Fournit un pinceau qui restitue le contenu actuellement hébergé dans un contrôle 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 .../>
Héritage
Object Platform::Object IInspectable DependencyObject Brush TileBrush WebViewBrush
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Exemples

L’exemple de code spécifique à Windows 8 suivant montre comment utiliser un WebViewBrush pour permettre au contenu XAML de chevaucher le contenu HTML. Dans cet exemple, le contrôle WebView s’affiche par défaut afin qu’il reste interactif. Toutefois, lorsque la liste déroulante ComboBox est ouverte, elle chevauche le contrôle WebView . Dans ce cas, le WebView est masqué et webViewBrush affiche le contenu HTML sur un rectangle occupant le même espace.

<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

Remarques

Dans Windows 8, le contrôle WebView a la caractéristique que d’autres régions d’interface utilisateur, telles que les contrôles, ne peuvent pas être affichées par-dessus. Cela est dû à la façon dont les régions de fenêtre sont gérées en interne, en particulier la façon dont les événements d’entrée sont traités et la façon dont l’écran dessine. Si vous souhaitez afficher du contenu HTML et placer d’autres éléments d’interface utilisateur par-dessus ce contenu HTML, vous devez utiliser WebViewBrush comme zone de rendu. WebView fournit toujours les informations de source HTML, et vous référencez ce WebView via la propriété SourceName (ou en appelant SetSource, la méthode et la propriété produisent les mêmes résultats). WebViewBrush n’a pas cette limitation de superposition, mais il n’active pas l’interaction.

Notes

Les remarques précédentes s’appliquent uniquement aux applications compilées pour Windows 8, même en cas d’exécution sur Windows 8.1. Windows 8.1 apporte des modifications au contrôle WebView qui corrigent les problèmes décrits ici. Par Windows 8.1, il est prévu que les scénarios dans lesquels vous utiliserez toujours un WebViewBrush ne seront pas très courants. Dans la plupart des cas, vous pouvez simplement utiliser un contrôle WebView et obtenir les fonctionnalités dont vous avez besoin.

Vous pouvez appliquer un WebViewBrush à n’importe quelle propriété qui prend un pinceau. Par exemple, vous pouvez définir Shape.Fill ou Control.Background avec un WebViewBrush.

Il existe deux alternatives pour associer un WebViewBrush à une source de contrôle WebView :

  • Référencez le WebView source par son nom d’identificateur, en définissant la propriété SourceName .
  • Référencez le WebView source par référence, en appelant la méthode SetSource et en passant un objet WebView .

Important

Il est souvent nécessaire d’appeler Redraw pour un WebViewBrush déclaré en XAML dans la même interface utilisateur que la source WebView . Un contrôle WebView a un comportement intrinsèquement asynchrone qui redessine le contrôle lorsque son contenu est complètement chargé. Mais un WebViewBrush associé s’affiche dès que le XAML est analysé (ce qui peut être avant que le contenu de l’URI soit chargé par le WebView). Vous pouvez également attendre d’appeler SetSource sur webViewBrush jusqu’à ce que le contenu source soit entièrement chargé (par exemple, en appelant SetSource dans le gestionnaire de l’événement WebView.LoadCompleted ).

Cette classe n’est pas prise en charge sur Windows Phone 8.x. Le contenu WebView ne sera pas capturé.

Constructeurs

WebViewBrush()

Initialise une nouvelle instance de la classe WebViewBrush.

Propriétés

AlignmentX

Obtient ou définit l’alignement horizontal du contenu dans la vignette de base TileBrush .

(Hérité de TileBrush)
AlignmentY

Obtient ou définit l’alignement vertical du contenu dans la vignette de base TileBrush .

(Hérité de TileBrush)
Dispatcher

Obtient le CoreDispatcher auquel cet objet est associé. CoreDispatcher représente une installation qui peut accéder à DependencyObject sur le thread d’interface utilisateur, même si le code est initié par un thread autre que l’interface utilisateur.

(Hérité de DependencyObject)
Opacity

Obtient ou définit le degré d’opacité d’un pinceau.

(Hérité de Brush)
RelativeTransform

Obtient ou définit la transformation appliquée au pinceau en utilisant des coordonnées relatives.

(Hérité de Brush)
SourceName

Obtient ou définit le nom du contrôle WebView source qui fournit le contenu HTML.

SourceNameProperty

Identifie la propriété de dépendance SourceName .

Stretch

Obtient ou définit une valeur qui spécifie la façon dont le contenu de ce TileBrush s’étire pour s’adapter à ses vignettes.

(Hérité de TileBrush)
Transform

Obtient ou définit la transformation appliquée au pinceau.

(Hérité de Brush)

Méthodes

ClearValue(DependencyProperty)

Efface la valeur locale d’une propriété de dépendance.

(Hérité de DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Retourne toute valeur de base établie pour une propriété de dépendance, qui s’applique dans les cas où une animation n’est pas active.

(Hérité de DependencyObject)
GetValue(DependencyProperty)

Retourne la valeur effective actuelle d’une propriété de dépendance à partir d’un objet DependencyObject.

(Hérité de DependencyObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Définit une propriété qui peut être animée.

(Hérité de Brush)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

En cas de substitution dans une classe dérivée, définit une propriété qui peut être animée.

(Hérité de Brush)
ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, si une valeur locale est définie.

(Hérité de DependencyObject)
Redraw()

Permet à WebViewBrush d’obtenir des pixels sources mis à jour à partir du WebView associé et de son contenu actuel. Cela se produit de manière asynchrone.

RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Inscrit une fonction de notification pour écouter les modifications apportées à un DependencyProperty spécifique sur ce instance DependencyObject.

(Hérité de DependencyObject)
SetSource(WebView)

Définit la source du contenu pour WebViewBrush.

SetValue(DependencyProperty, Object)

Définit la valeur locale d’une propriété de dépendance sur un DependencyObject.

(Hérité de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Annule une notification de modification précédemment inscrite en appelant RegisterPropertyChangedCallback.

(Hérité de DependencyObject)

S’applique à

Voir aussi