WebViewBrush 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
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 .../>
- 繼承
- 屬性
Windows 需求
裝置系列 |
Windows 10 (已於 10.0.10240.0 引進)
|
API contract |
Windows.Foundation.UniversalApiContract (已於 v1.0 引進)
|
範例
下列 Windows 8 特定程式碼範例示範如何使用 WebViewBrush 讓 XAML 型內容重迭 HTML 內容。 在此範例中, WebView 控制項預設會顯示,使其保持互動式狀態。 不過,當 ComboBox 下拉式清單開啟時,它會與 WebView 控制項重迭。 在此情況下,WebView 會隱藏,而 WebViewBrush 會在佔用相同空間的 Rectangle 上顯示 HTML 內容。
<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
備註
在 Windows 8 中, WebView 控制項具有其他 UI 區域的特性,例如控制項無法呈現在上方。 這是因為視窗區域在內部處理的方式,特別是輸入事件的處理方式,以及螢幕繪製方式。 如果您想要轉譯 HTML 內容,並將其他 UI 元素放在該 HTML 內容之上,您應該使用 WebViewBrush 作為轉譯區域。 WebView仍會提供 HTML 來源資訊,而且您透過SourceName屬性 (或呼叫SetSource來參考WebView,方法與屬性會產生相同的結果) 。 WebViewBrush 沒有此重迭限制,但不會啟用互動。
注意
上述備註僅適用于針對 Windows 8 編譯的應用程式,即使在Windows 8.1上執行也是如此。 Windows 8.1引進WebView控制項的變更,以修正此處所述的問題。 對於Windows 8.1,預期您仍會使用 WebViewBrush 的案例並不常見。 在大部分情況下,您可以只使用 WebView 控制項並取得您需要的功能。
您可以將 WebViewBrush 套用至採用 Brush的任何屬性。 例如,您可以使用 WebViewBrush 來設定 Shape.Fill 或 Control.Background 。
建立 WebViewBrush 與 WebView 控制項來源的關聯有兩種替代方法:
- 藉由設定SourceName屬性,以識別碼名稱參考來源WebView。
- 藉由呼叫SetSource方法並傳遞WebView物件,以參考來源WebView。
重要
通常必須針對在與WebView來源相同的 UI 中宣告的 WebViewBrush 呼叫Redraw。 WebView控制項本身具有非同步行為,會在完全載入控制項內容時重新繪製控制項。 但是,當 XAML 剖析 (時,相關聯的 WebViewBrush 就會轉譯,這可能是 WebView) 載入 URI 內容之前。 或者,您可以等候在 WebViewBrush 上呼叫SetSource,直到來源內容完全載入 (,例如,在WebView.LoadCompleted事件的處理常式中呼叫SetSource。
Windows Phone 8.x 不支援此類別。 不會擷取WebView內容。
建構函式
WebViewBrush() |
初始化 WebViewBrush 類別的新實例。 |
屬性
AlignmentX |
取得或設定 TileBrush 基底圖格中內容的水準對齊方式。 (繼承來源 TileBrush) |
AlignmentY |
取得或設定 TileBrush 基底圖格中內容的垂直對齊方式。 (繼承來源 TileBrush) |
Dispatcher |
取得與此物件相關聯的 CoreDispatcher 。 CoreDispatcher代表可以存取 UI 執行緒上DependencyObject的功能,即使程式碼是由非 UI 執行緒起始也一樣。 (繼承來源 DependencyObject) |
Opacity |
取得或設定 Brush不透明度的程度。 (繼承來源 Brush) |
RelativeTransform |
取得或設定使用相對座標套用到筆刷的轉換。 (繼承來源 Brush) |
SourceName |
取得或設定提供 HTML 內容的來源 WebView 控制項名稱。 |
SourceNameProperty |
識別 SourceName 相依性屬性。 |
Stretch |
取得或設定值,指定此 TileBrush 的內容如何延展以符合其磚。 (繼承來源 TileBrush) |
Transform |
取得或設定套用到筆刷的轉換。 (繼承來源 Brush) |