ThemeShadow クラス

定義

ThemeShadow は、x、y、z 座標に基づいて適切にシャドウを描画するために任意の XAML 要素に適用できる、構成済みのシャドウ効果です。 ThemeShadow は、他の環境仕様に合わせて自動的に調整されます。

  • 照明、ユーザー テーマ、アプリ環境、シェルの変更に適応します。
  • 要素は、その標高に基づいて自動的にシャドウされます。
  • 要素が移動したり標高を変更したりすると、要素の同期が維持されます。
  • アプリケーション全体およびアプリケーション間でシャドウの一貫性を維持します。
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ThemeShadow : Shadow
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class ThemeShadow : Shadow
Public Class ThemeShadow
Inherits Shadow
継承
Object IInspectable DependencyObject Shadow ThemeShadow
属性

Tip

詳細、設計ガイダンス、およびコード例については、 Z 深度とシャドウに関するページを参照してください。

注釈

Tip

詳細、設計ガイダンス、およびコード例については、 Z 深度とシャドウに関するページを参照してください。

ThemeShadow を任意の XAML 要素に適用して、概念的なキャスター UIElement と 1 つ以上のレシーバー UIElement の間の相対的な x、y、z 座標に基づいてシャドウを描画できます。この UIElement は、その上にキャスターの影がレンダリングされます。

ThemeShadow では、四角形の影のみがサポートされます。 カスタム シャドウ効果の場合は、 DropShadow を使用できます。

ポップアップの ThemeShadows

ThemeShadow は 、ポップアップ内の任意の XAML 要素に適用されると、自動的にシャドウをキャストします。 その背後にあるアプリの背景コンテンツとその下の他の開いているポップアップに影を落とします。

ポップアップで ThemeShadow を使用するには、 UIElement.Shadow プロパティを使用して、XAML 要素に ThemeShadow を適用します。 次に、 UIElement.Translation プロパティの z コンポーネントを使用するなどして、その背後にある他の要素から要素を昇格します。 ほとんどのポップアップ UI では、アプリの背景コンテンツに対して推奨される既定の昇格は 32 有効ピクセルです。

他の要素内のThemeShadow

Popup に含まれていない XAML 要素からシャドウをキャストするには、ThemeShadow.Receivers コレクションでシャドウを受け取ることができる他の要素を明示的に指定する必要があります。 レシーバーをビジュアル ツリー内のキャスターの先祖にすることはできません。

ThemeShadow のパフォーマンスのベスト プラクティス

  1. カスタムレシーバー要素の数を必要最小限に制限します。

  2. 複数の受信側要素が同じ昇格にある場合は、代わりに単一の親要素をターゲットにして、それらを結合してみてください。

  3. 複数の要素が同じ種類のシャドウを同じ受信側要素にキャストする場合は、共有リソースとしてシャドウを追加して再利用します。

コンストラクター

名前 説明
ThemeShadow()

ThemeShadow クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
Dispatcher

Windows アプリ SDK アプリで常に null を返します。 代わりに DispatcherQueue を使用してください。

(継承元 DependencyObject)
DispatcherQueue

このオブジェクトが関連付けられている DispatcherQueue を取得します。 DispatcherQueueは、コードが非 UI スレッドによって開始された場合でも、UI スレッド上のDependencyObjectにアクセスできる機能を表します。

(継承元 DependencyObject)
Receivers

この ThemeShadow がキャストされる UI 要素のコレクションを取得します。

メソッド

名前 説明
ClearValue(DependencyProperty)

依存関係プロパティのローカル値をクリアします。

(継承元 DependencyObject)
GetAnimationBaseValue(DependencyProperty)

依存関係プロパティに対して確立された基本値を返します。これは、アニメーションがアクティブでない場合に適用されます。

(継承元 DependencyObject)
GetValue(DependencyProperty)

DependencyObject から依存関係プロパティの現在の有効な値を返します。

(継承元 DependencyObject)
ReadLocalValue(DependencyProperty)

ローカル値が設定されている場合は、依存関係プロパティのローカル値を返します。

(継承元 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

この DependencyObject インスタンスの特定の DependencyProperty への変更をリッスンするための通知関数を登録します。

(継承元 DependencyObject)
SetValue(DependencyProperty, Object)

DependencyObject の依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

RegisterPropertyChangedCallback を呼び出して以前に登録した変更通知を取り消します。

(継承元 DependencyObject)

適用対象

こちらもご覧ください