WebViewBrush Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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 :
- Verweisen Sie auf die WebView-Quelle anhand des Bezeichnernamens, indem Sie die SourceName-Eigenschaft festlegen.
- Verweisen Sie auf die WebView-Quelle , indem Sie die SetSource-Methode aufrufen und ein WebView-Objekt übergeben.
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) |