Bagikan melalui


WebViewBrush Kelas

Definisi

Menyediakan kuas yang merender konten yang saat ini dihosting dalam kontrol 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 .../>
Warisan
Object Platform::Object IInspectable DependencyObject Brush TileBrush WebViewBrush
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Contoh

Contoh kode khusus Windows 8 berikut menunjukkan cara menggunakan WebViewBrush untuk mengaktifkan konten berbasis XAML untuk tumpang tindih konten berbasis HTML. Dalam contoh ini, kontrol WebView ditampilkan secara default sehingga tetap interaktif. Namun, saat daftar drop-down ComboBox terbuka, daftar tersebut tumpang tindih dengan kontrol WebView . Dalam hal ini, WebView disembunyikan dan WebViewBrush menampilkan konten HTML pada Persegi panjang yang menempati ruang yang sama.

<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

Keterangan

Di Windows 8, kontrol WebView memiliki karakteristik bahwa wilayah UI lain seperti kontrol tidak dapat dirender di atasnya. Ini karena bagaimana wilayah jendela ditangani secara internal, terutama bagaimana peristiwa input diproses dan bagaimana layar menarik. Jika Anda ingin merender konten HTML dan juga menempatkan elemen UI lain di atas konten HTML tersebut, Anda harus menggunakan WebViewBrush sebagai area render. WebView masih menyediakan informasi sumber HTML, dan Anda mereferensikan webView melalui properti SourceName (atau dengan memanggil SetSource, metode dan properti menghasilkan hasil yang sama). WebViewBrush tidak memiliki batasan overlay ini, tetapi tidak mengaktifkan interaksi.

Catatan

Keterangan sebelumnya hanya berlaku untuk aplikasi yang dikompilasi untuk Windows 8, bahkan saat berjalan di Windows 8.1. Windows 8.1 memperkenalkan perubahan pada kontrol WebView yang memperbaiki masalah yang dijelaskan di sini. Untuk Windows 8.1, diantisipasi bahwa skenario di mana Anda masih akan menggunakan WebViewBrush tidak akan sangat umum. Dalam kebanyakan kasus, Anda hanya dapat menggunakan kontrol WebView dan mendapatkan fungsionalitas yang Anda butuhkan.

Anda dapat menerapkan WebViewBrush ke properti apa pun yang mengambil Brush. Misalnya, Anda dapat mengatur Shape.Fill atau Control.Background dengan WebViewBrush.

Ada dua alternatif untuk mengaitkan WebViewBrush dengan sumber kontrol WebView :

  • Referensikan WebView sumber dengan nama pengidentifikasinya, dengan mengatur properti SourceName .
  • Referensikan WebView sumber dengan referensi, dengan memanggil metode SetSource dan meneruskan objek WebView .

Penting

Seringkali perlu memanggil Redraw untuk WebViewBrush yang dideklarasikan di XAML di UI yang sama seperti sumber WebView . Kontrol WebView memiliki perilaku asinkron inheren yang menggambar ulang kontrol ketika kontennya benar-benar dimuat. Tetapi WebViewBrush terkait dirender segera setelah XAML diurai (yang mungkin sebelum konten URI dimuat oleh WebView). Atau, Anda dapat menunggu untuk memanggil SetSource di WebViewBrush hingga konten sumber dimuat sepenuhnya (misalnya dengan memanggil SetSource di handler untuk peristiwa WebView.LoadCompleted .

Kelas ini tidak didukung pada Windows Phone 8.x. Konten WebView tidak akan diambil.

Konstruktor

WebViewBrush()

Menginisialisasi instans baru kelas WebViewBrush .

Properti

AlignmentX

Mendapatkan atau mengatur perataan horizontal konten dalam petak peta dasar TileBrush .

(Diperoleh dari TileBrush)
AlignmentY

Mendapatkan atau mengatur perataan vertikal konten dalam petak peta dasar TileBrush .

(Diperoleh dari TileBrush)
Dispatcher

Mendapatkan CoreDispatcher yang dikaitkan dengan objek ini. CoreDispatcher mewakili fasilitas yang dapat mengakses DependencyObject pada utas UI bahkan jika kode dimulai oleh utas non-UI.

(Diperoleh dari DependencyObject)
Opacity

Mendapatkan atau menetapkan tingkat keburaman kuas.

(Diperoleh dari Brush)
RelativeTransform

Mendapatkan atau mengatur transformasi yang diterapkan pada kuas menggunakan koordinat relatif.

(Diperoleh dari Brush)
SourceName

Mendapatkan atau mengatur nama kontrol WebView sumber yang menyediakan konten HTML.

SourceNameProperty

Mengidentifikasi properti dependensi SourceName .

Stretch

Mendapatkan atau menetapkan nilai yang menentukan bagaimana konten TileBrush ini membentang agar pas dengan petak petanya.

(Diperoleh dari TileBrush)
Transform

Mendapatkan atau mengatur transformasi yang diterapkan pada kuas.

(Diperoleh dari Brush)

Metode

ClearValue(DependencyProperty)

Menghapus nilai lokal properti dependensi.

(Diperoleh dari DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Mengembalikan nilai dasar apa pun yang ditetapkan untuk properti dependensi, yang akan berlaku dalam kasus di mana animasi tidak aktif.

(Diperoleh dari DependencyObject)
GetValue(DependencyProperty)

Mengembalikan nilai efektif properti dependensi saat ini dari DependencyObject.

(Diperoleh dari DependencyObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Menentukan properti yang dapat dianimasikan.

(Diperoleh dari Brush)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

Saat ditimpa di kelas turunan, menentukan properti yang dapat dianimasikan.

(Diperoleh dari Brush)
ReadLocalValue(DependencyProperty)

Mengembalikan nilai lokal properti dependensi, jika nilai lokal ditetapkan.

(Diperoleh dari DependencyObject)
Redraw()

Menyebabkan WebViewBrush mendapatkan piksel sumber yang diperbarui dari WebView terkait dan kontennya saat ini. Ini terjadi secara asinkron.

RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Mendaftarkan fungsi pemberitahuan untuk mendengarkan perubahan pada DependencyProperty tertentu pada instans DependencyObject ini.

(Diperoleh dari DependencyObject)
SetSource(WebView)

Mengatur sumber konten untuk WebViewBrush.

SetValue(DependencyProperty, Object)

Mengatur nilai lokal properti dependensi pada DependencyObject.

(Diperoleh dari DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Membatalkan pemberitahuan perubahan yang sebelumnya terdaftar dengan memanggil RegisterPropertyChangedCallback.

(Diperoleh dari DependencyObject)

Berlaku untuk

Lihat juga