ThemeShadow クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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
- 継承
- 属性
例
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 のパフォーマンスのベスト プラクティス
カスタムレシーバー要素の数を必要最小限に制限します。
複数の受信側要素が同じ昇格にある場合は、代わりに単一の親要素をターゲットにして、それらを結合してみてください。
複数の要素が同じ種類のシャドウを同じ受信側要素にキャストする場合は、共有リソースとしてシャドウを追加して再利用します。
コンストラクター
| 名前 | 説明 |
|---|---|
| ThemeShadow() |
ThemeShadow クラスの新しいインスタンスを初期化します。 |
プロパティ
| 名前 | 説明 |
|---|---|
| Dispatcher |
Windows アプリ SDK アプリで常に |
| DispatcherQueue |
このオブジェクトが関連付けられている |
| 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) |