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
属性

ヒント

詳細、設計ガイダンス、およびコード例については、「 Z 深度と影」を参照してください。

注釈

ヒント

詳細、設計ガイダンス、およびコード例については、「 Z 深度と影」を参照してください。

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

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

ポップアップの ThemeShadows

ThemeShadow は、Popup 内の任意の XAML 要素に適用されると、自動的にシャドウを投影します。 背後にあるアプリの背景コンテンツと、下にあるそれ以外の開かれたポップアップに対して、シャドウが投影されます。

ポップアップで ThemeShadow を使用するには、 UIElement.Shadow プロパティを使用して ThemeShadow を XAML 要素に適用します。 次に、 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)

適用対象

こちらもご覧ください