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 は同じ領域を占める 四角形 に 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 コンテンツをレンダリングし、その HTML コンテンツの上に他の UI 要素を配置する場合は、レンダリング領域として WebViewBrush を使用する必要があります。 WebView は引き続き HTML ソース情報を提供し、SourceName プロパティを使用して (または SetSource を呼び出すことによって) その WebView を参照すると、メソッドとプロパティによって同じ結果が得られます。 WebViewBrush にはこのオーバーレイ制限はありませんが、相互作用は有効になりません。
注意
上記の解説は、Windows 8.1で実行されている場合でも、Windows 8 用にコンパイルされたアプリにのみ適用されます。 Windows 8.1では、ここで説明する問題を解決する WebView コントロールの変更が導入されています。 Windows 8.1の場合、WebViewBrush を引き続き使用するシナリオはあまり一般的ではないでしょう。 ほとんどの場合、 WebView コントロールを使用するだけで、必要な機能を取得できます。
Brush を受け取る任意のプロパティに WebViewBrush を適用できます。 たとえば、WebViewBrush を使用して Shape.Fill または Control.Background を設定できます。
WebViewBrush を WebView コントロール ソース に関連付ける方法は 2 つあります。
- SourceName プロパティを設定して、識別子名でソース WebView を参照します。
- SetSource メソッドを呼び出して WebView オブジェクトを渡すことで、ソース WebView を参照します。
重要
多くの場合、WebView ソースと同じ UI で XAML で宣言されている WebViewBrush に対して Redraw を呼び出す必要があります。 WebView コントロールには、コンテンツが完全に読み込まれるときにコントロールを再描画する本質的に非同期の動作があります。 ただし、関連付けられた WebViewBrush は、XAML が解析されるとすぐにレンダリングされます (これは、URI コンテンツが WebView によって読み込まれる前である可能性があります)。 または、ソース コンテンツが完全に 読み込 まれるまで (たとえば、WebView.LoadCompleted イベントのハンドラーで SetSource を 呼び出すなどして) WebViewBrush で SetSource を呼び出すのを待つことができます。
このクラスは、Windows Phone 8.x ではサポートされていません。 WebView コンテンツはキャプチャされません。
コンストラクター
WebViewBrush() |
WebViewBrush クラスの新しいインスタンスを初期化します。 |
プロパティ
AlignmentX |
TileBrush 基本タイル内のコンテンツの水平方向の配置を取得または設定します。 (継承元 TileBrush) |
AlignmentY |
TileBrush 基本タイル内のコンテンツの垂直方向の配置を取得または設定します。 (継承元 TileBrush) |
Dispatcher |
このオブジェクトが関連付けられている CoreDispatcher を取得します。 CoreDispatcher は、コードが UI 以外のスレッドによって開始された場合でも、UI スレッド上の DependencyObject にアクセスできる機能を表します。 (継承元 DependencyObject) |
Opacity |
ブラシの不透明度を取得または設定 します。 (継承元 Brush) |
RelativeTransform |
相対座標を使用して、ブラシに適用される変換を取得または設定します。 (継承元 Brush) |
SourceName |
HTML コンテンツを提供するソース WebView コントロールの名前を取得または設定します。 |
SourceNameProperty |
SourceName 依存関係プロパティを識別します。 |
Stretch |
この TileBrush のコンテンツをタイルに合わせて拡張する方法を指定する値を取得または設定します。 (継承元 TileBrush) |
Transform |
ブラシに適用される変換を取得または設定します。 (継承元 Brush) |