WebViewBrush Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 .../>
- Ereditarietà
- Attributi
Requisiti Windows
Famiglia di dispositivi |
Windows 10 (è stato introdotto in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)
|
Esempio
L'esempio di codice specifico di Windows 8 seguente illustra come usare un WebViewBrush per abilitare il contenuto basato su XAML per sovrapporsi al contenuto basato su HTML. In questo esempio il controllo WebView viene visualizzato per impostazione predefinita in modo che rimanga interattivo. Quando l'elenco a discesa ComboBox è aperto, tuttavia, si sovrappone al controllo WebView . In questo caso, WebView è nascosto e WebViewBrush visualizza il contenuto HTML in un rettangolo che occupa lo stesso spazio.
<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
Commenti
In Windows 8 il controllo WebView ha la caratteristica che altre aree dell'interfaccia utente, ad esempio i controlli, non possono essere visualizzati sopra. Ciò è dovuto al modo in cui le aree della finestra vengono gestite internamente, in particolare il modo in cui gli eventi di input vengono elaborati e il modo in cui lo schermo disegna. Se si vuole eseguire il rendering del contenuto HTML e inserire anche altri elementi dell'interfaccia utente sopra il contenuto HTML, è consigliabile usare WebViewBrush come area di rendering. WebView fornisce comunque le informazioni sull'origine HTML e si fa riferimento a WebView tramite la proprietà SourceName (o chiamando SetSource, il metodo e la proprietà producono gli stessi risultati). WebViewBrush non ha questa limitazione di sovrapposizione, ma non abilita l'interazione.
Nota
Le osservazioni precedenti si applicano solo alle app compilate per Windows 8, anche quando in esecuzione in Windows 8.1. Windows 8.1 introduce modifiche al controllo WebView che risolve i problemi descritti qui. Per Windows 8.1, si prevede che gli scenari in cui si userà ancora un WebViewBrush non sarà molto comune. Nella maggior parte dei casi è sufficiente usare un controllo WebView e ottenere la funzionalità necessaria.
È possibile applicare un webViewBrush a qualsiasi proprietà che accetta un pennello. Ad esempio, è possibile impostare Shape.Fill o Control.Background con un webViewBrush.
Esistono due alternative per associare un webViewBrush a un'origine del controllo WebView :
- Fare riferimento all'origine WebView in base al nome dell'identificatore impostando la proprietà SourceName .
- Fare riferimento a WebView di origine chiamando il metodo SetSource e passando un oggetto WebView .
Importante
Spesso è necessario chiamare Redraw per un WebViewBrush dichiarato in XAML nella stessa interfaccia utente dell'origine WebView . Un controllo WebView ha un comportamento intrinsecamente asincrono che ridisegna il controllo quando il relativo contenuto viene completamente caricato. Ma viene eseguito il rendering di WebViewBrush associato non appena viene analizzato il codice XAML, che potrebbe essere prima che il contenuto dell'URI venga caricato da WebView. In alternativa, è possibile attendere di chiamare SetSource nel WebViewBrush fino al caricamento completo del contenuto di origine, ad esempio chiamando SetSource nel gestore per l'evento WebView.LoadCompleted .
Questa classe non è supportata in Windows Phone 8.x. Il contenuto di WebView non verrà acquisito.
Costruttori
WebViewBrush() |
Inizializza una nuova istanza della classe WebViewBrush . |
Proprietà
AlignmentX |
Ottiene o imposta l'allineamento orizzontale del contenuto nel riquadro di base TileBrush . (Ereditato da TileBrush) |
AlignmentY |
Ottiene o imposta l'allineamento verticale del contenuto nel riquadro della base TileBrush . (Ereditato da TileBrush) |
Dispatcher |
Ottiene CoreDispatcher associato a questo oggetto. CoreDispatcher rappresenta una struttura che può accedere a DependencyObject nel thread dell'interfaccia utente anche se il codice viene avviato da un thread non interfaccia utente. (Ereditato da DependencyObject) |
Opacity |
Ottiene o imposta il grado di opacità di un pennello. (Ereditato da Brush) |
RelativeTransform |
Ottiene o imposta la trasformazione applicata al pennello usando coordinate relative. (Ereditato da Brush) |
SourceName |
Ottiene o imposta il nome del controllo WebView di origine che fornisce il contenuto HTML. |
SourceNameProperty |
Identifica la proprietà di dipendenza SourceName . |
Stretch |
Ottiene o imposta un valore che specifica il modo in cui il contenuto di questo TileBrush si estende per adattare i riquadri. (Ereditato da TileBrush) |
Transform |
Ottiene o imposta la trasformazione applicata al pennello. (Ereditato da Brush) |
Metodi
ClearValue(DependencyProperty) |
Cancella il valore locale di una proprietà di dipendenza. (Ereditato da DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
Restituisce qualsiasi valore di base stabilito per una proprietà di dipendenza, che si applica nei casi in cui un'animazione non è attiva. (Ereditato da DependencyObject) |
GetValue(DependencyProperty) |
Restituisce il valore effettivo corrente di una proprietà di dipendenza da un oggetto DependencyObject. (Ereditato da DependencyObject) |
PopulatePropertyInfo(String, AnimationPropertyInfo) |
Definisce una proprietà che può essere animata. (Ereditato da Brush) |
PopulatePropertyInfoOverride(String, AnimationPropertyInfo) |
Quando sottoposto a override in una classe derivata, definisce una proprietà che può essere animata. (Ereditato da Brush) |
ReadLocalValue(DependencyProperty) |
Restituisce il valore locale di una proprietà di dipendenza, se viene impostato un valore locale. (Ereditato da DependencyObject) |
Redraw() |
Fa sì che WebViewBrush ottenga i pixel di origine aggiornati da WebView associato e il relativo contenuto corrente. Ciò avviene in modo asincrono. |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Registra una funzione di notifica per l'ascolto delle modifiche a un'istanza di DependencyObject specifica. (Ereditato da DependencyObject) |
SetSource(WebView) |
Imposta l'origine del contenuto per WebViewBrush. |
SetValue(DependencyProperty, Object) |
Imposta il valore locale di una proprietà di dipendenza in un oggetto DependencyObject. (Ereditato da DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Annulla una notifica di modifica registrata in precedenza chiamando RegisterPropertyChangedCallback. (Ereditato da DependencyObject) |