SystemBackdrop クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
マイカやアクリルなどの素材をレンダリングするために使用されるカスタム システム背景の基本クラス。
public ref class SystemBackdrop : DependencyObject
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 262144)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SystemBackdrop : DependencyObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 262144)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class SystemBackdrop : DependencyObject
Public Class SystemBackdrop
Inherits DependencyObject
- 継承
- 派生
- 属性
例
この例では、 MicaController を使用して実装されるカスタム システムの背景クラスを示します。
ベース の OnTargetConnected メソッドを呼び出すと、 GetDefaultSystemBackdropConfiguration によって返される既定の構成オブジェクトが初期化され、この SystemBackdrop
インスタンスに影響する環境の変更 (で connectedTarget, XamlRoot
指定) が反映されます。
このページの例では、インスタンスの共有 MicaSystemBackdrop
(例: ) はサポートされていませんが、このような共有は可能であり、 Window1.SystemBackdrop = Window2.SystemBackdrop = myMicaSystemBackdrop
組み込み MicaBackdrop
および DesktopAcrylicBackdrop
資料でサポートされています。 カスタム マテリアルで共有を実装するには、バッキング ISystemBackdropController ストレージをベクター化して、使用コンテキストごとに個別のインスタンスを保持します (たとえば、 で connectedTarget
キー付けされたマップを使用)。
SystemBackdrop
GetDefaultSystemBackdropConfiguration によって返される関連付けられている既定の構成オブジェクトも同様にベクター化され、構成が共有されている場合に各使用コンテキストがSystemBackdrop
反映されます。
<Window
... >
<Window.SystemBackdrop>
<local:MicaSystemBackdrop/>
</Window.SystemBackdrop>
<!-- XAML content -->
</Window>
public class MicaSystemBackdrop : SystemBackdrop
{
MicaController micaController;
protected override void OnTargetConnected(ICompositionSupportsSystemBackdrop connectedTarget, XamlRoot xamlRoot)
{
// Call the base method to initialize the default configuration object.
base.OnTargetConnected(connectedTarget, xamlRoot);
// This example does not support sharing MicaSystemBackdrop instances.
if (micaController is not null)
{
throw new Exception("This controller cannot be shared");
}
micaController = new MicaController();
// Set configuration.
SystemBackdropConfiguration defaultConfig = GetDefaultSystemBackdropConfiguration(connectedTarget, xamlRoot);
micaController.SetSystemBackdropConfiguration(defaultConfig);
// Add target.
micaController.AddSystemBackdropTarget(connectedTarget);
}
protected override void OnTargetDisconnected(ICompositionSupportsSystemBackdrop disconnectedTarget)
{
base.OnTargetDisconnected(disconnectedTarget);
micaController.RemoveSystemBackdropTarget(disconnectedTarget);
micaController = null;
}
}
注釈
このクラスを使用して、カスタム システムの背景を作成します。 このクラスは直接作成しません (保護されたコンストラクターに注意してください)。 代わりに、カスタム サポートを追加するためにサブクラス化します。 組み込みの派生クラスの 1 つである MicaBackdrop と DesktopAcrylicBackdrop を使用することもできます。
一般に、カスタム マテリアルは OnTargetConnected をオーバーライドしてバッキング ISystemBackdropController を作成および構成します。これにより、背景領域を埋めるために使用される CompositionBrush が管理されます。 ブラシの最終的なピクセル レンダリングは、次の影響を受ける。
- SystemBackdropConfiguration を使用して設定された環境/ポリシー
-
ISystemBackdropControllerWithTargets.State () などの一般的なプロパティと、MicaController.Kind
Base
BaseAlt
/ (/Active
/Fallback
HighContrast
) などのマテリアル固有のプロパティによって公開される、マテリアルの外観パラメーター。
組み込みコントローラー (MicaController および DesktopAcrylicController) では、外観 FallbackColor
をカスタマイズするためのパラメーター 、、 LuminosityOpacity
、 TintColor
および TintOpacity
がサポートされています。 組み込みのシステム背景 (MicaBackdrop と DesktopAcrylicBackdrop) では、マテリアルのカスタマイズ プロパティ (TintOpacity
など) が公開FallbackColor
されません。 代わりに、基になる MicaController
と DesktopAcrylicController
の既定の明るい/暗い構成に依存します。 これらのプロパティをカスタマイズするには、 から SystemBackdrop
派生し、目的のプロパティを公開するカスタム マテリアル クラスを作成します。
コンストラクター
SystemBackdrop() |
|
プロパティ
Dispatcher |
常に Windows アプリ SDK アプリで を返します |
DispatcherQueue |
このオブジェクトが |