Freigeben über


WebViewBrush Klasse

Definition

Stellt einen Pinsel bereit, der den Inhalt rendert, der derzeit in einem WebView-Steuerelement gehostet wird.

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

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Beispiele

Im folgenden Windows 8-spezifischen Codebeispiel wird veranschaulicht, wie Ein WebViewBrush verwendet wird, um XAML-basierten Inhalten zu ermöglichen, HTML-basierte Inhalte zu überlappen. In diesem Beispiel wird das WebView-Steuerelement standardmäßig angezeigt, sodass es interaktiv bleibt. Wenn die Dropdownliste ComboBox geöffnet ist, überschneidet sie jedoch das WebView-Steuerelement . In diesem Fall wird die WebView ausgeblendet, und der WebViewBrush zeigt den HTML-Inhalt auf einem Rechteck an, das denselben Platz einnimmt.

<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

Hinweise

In Windows 8 weist das WebView-Steuerelement die Eigenschaft auf, dass andere Benutzeroberflächenbereiche wie Steuerelemente nicht darüber gerendert werden können. Dies liegt daran, wie Fensterbereiche intern behandelt werden, insbesondere die Verarbeitung von Eingabeereignissen und das Zeichnen des Bildschirms. Wenn Sie HTML-Inhalte rendern und andere UI-Elemente darüber platzieren möchten, sollten Sie WebViewBrush als Renderbereich verwenden. Die WebView stellt weiterhin die HTML-Quellinformationen bereit, und Sie verweisen auf webView über die SourceName-Eigenschaft (oder durch Aufrufen von SetSource liefern die Methode und die Eigenschaft dieselben Ergebnisse). WebViewBrush verfügt nicht über diese Overlay-Einschränkung, aktiviert jedoch keine Interaktion.

Hinweis

Die obigen Hinweise gelten nur für Apps, die für Windows 8 kompiliert wurden, auch wenn sie unter Windows 8.1 ausgeführt werden. Windows 8.1 führt Änderungen am WebView-Steuerelement ein, die die hier beschriebenen Probleme beheben. Für Windows 8.1 wird davon ausgegangen, dass Szenarien, in denen Sie weiterhin eine WebViewBrush verwenden, nicht sehr häufig vorkommen werden. In den meisten Fällen können Sie einfach ein WebView-Steuerelement verwenden und die benötigten Funktionen abrufen.

Sie können eine WebViewBrush-Eigenschaft auf jede Eigenschaft anwenden, die einen Brush verwendet. Beispielsweise können Sie Shape.Fill oder Control.Background mit einem WebViewBrush festlegen.

Es gibt zwei Alternativen zum Zuordnen eines WebViewBrush zu einer WebView-Steuerelementquelle :

Wichtig

Häufig ist es notwendig, Redraw für einen WebViewBrush aufzurufen, der in XAML auf derselben Benutzeroberfläche deklariert ist wie die WebView-Quelle . Ein WebView-Steuerelement weist ein inhärent asynchrones Verhalten auf, das das Steuerelement neu zeichnet, wenn sein Inhalt vollständig geladen wird. Ein zugeordneter WebViewBrush wird jedoch gerendert, sobald der XAML-Code analysiert wurde (möglicherweise bevor der URI-Inhalt von der WebView geladen wird). Alternativ können Sie mit dem Aufrufen von SetSource im WebViewBrush warten, bis der Quellinhalt vollständig geladen ist (z. B. durch Aufrufen von SetSource im Handler für das WebView.LoadCompleted-Ereignis .

Diese Klasse wird unter Windows Phone 8.x nicht unterstützt. WebView-Inhalte werden nicht erfasst.

Konstruktoren

WebViewBrush()

Initialisiert eine neue instance der WebViewBrush-Klasse.

Eigenschaften

AlignmentX

Ruft die horizontale Ausrichtung des Inhalts auf der TileBrush-Basiskachel ab oder legt diese fest.

(Geerbt von TileBrush)
AlignmentY

Ruft die vertikale Ausrichtung des Inhalts auf der TileBrush-Basiskachel ab oder legt diese fest.

(Geerbt von TileBrush)
Dispatcher

Ruft den CoreDispatcher ab, dem dieses Objekt zugeordnet ist. CoreDispatcher stellt eine Funktion dar, die auf das DependencyObject im UI-Thread zugreifen kann, auch wenn der Code von einem Nicht-UI-Thread initiiert wird.

(Geerbt von DependencyObject)
Opacity

Ruft den Deckkraftgrad eines Pinsels ab oder legt diese fest.

(Geerbt von Brush)
RelativeTransform

Ruft die auf den Pinsel über relative Koordinaten angewendete Transformation ab oder legt diese fest.

(Geerbt von Brush)
SourceName

Ruft den Namen des WebView-Quellsteuerelements ab, das den HTML-Inhalt bereitstellt, oder legt diesen fest.

SourceNameProperty

Gibt die SourceName-Abhängigkeitseigenschaft an.

Stretch

Ruft einen Wert ab, der angibt, wie der Inhalt dieser TileBrush-Datei an die Kacheln angepasst wird, oder legt diesen fest.

(Geerbt von TileBrush)
Transform

Dient zum Abrufen oder Festlegen der auf den Pinsel angewendeten Transformation.

(Geerbt von Brush)

Methoden

ClearValue(DependencyProperty)

Löscht den lokalen Wert einer Abhängigkeitseigenschaft.

(Geerbt von DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Gibt einen beliebigen Basiswert zurück, der für eine Abhängigkeitseigenschaft festgelegt wurde, was in Fällen gilt, in denen eine Animation nicht aktiv ist.

(Geerbt von DependencyObject)
GetValue(DependencyProperty)

Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft aus einem DependencyObject zurück.

(Geerbt von DependencyObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Definiert eine Eigenschaft, die animiert werden kann.

(Geerbt von Brush)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

Definiert beim Überschreiben in einer abgeleiteten Klasse eine Eigenschaft, die animiert werden kann.

(Geerbt von Brush)
ReadLocalValue(DependencyProperty)

Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn ein lokaler Wert festgelegt ist.

(Geerbt von DependencyObject)
Redraw()

Bewirkt, dass WebViewBrush aktualisierte Quellpixel aus der zugeordneten WebView und dem aktuellen Inhalt erhält. Dies geschieht asynchron.

RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registriert eine Benachrichtigungsfunktion zum Lauschen auf Änderungen an einer bestimmten DependencyProperty für dieses DependencyObject-instance.

(Geerbt von DependencyObject)
SetSource(WebView)

Legt die Quelle des Inhalts für webViewBrush fest.

SetValue(DependencyProperty, Object)

Legt den lokalen Wert einer Abhängigkeitseigenschaft für ein DependencyObject fest.

(Geerbt von DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Bricht eine Änderungsbenachrichtigung ab, die zuvor registriert wurde, indem RegisterPropertyChangedCallback aufgerufen wurde.

(Geerbt von DependencyObject)

Gilt für:

Weitere Informationen