FrameworkElement.RequestedTheme プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
リソースの決定に UIElement (およびその子要素) によって使用される UI テーマを取得または設定します。
RequestedThemeで指定した UI テーマは、アプリ レベルの RequestedTheme をオーバーライドできます。
public:
property ElementTheme RequestedTheme { ElementTheme get(); void set(ElementTheme value); };
ElementTheme RequestedTheme();
void RequestedTheme(ElementTheme value);
public ElementTheme RequestedTheme { get; set; }
var elementTheme = frameworkElement.requestedTheme;
frameworkElement.requestedTheme = elementTheme;
Public Property RequestedTheme As ElementTheme
<uiElement RequestedTheme="elementThemeMemberName" .../>
プロパティ値
列挙型の値 (たとえば、 Light)。
注釈
RequestedTheme値を変更すると、要素の既定のテンプレートのリソース参照動作が効果的に変更されます。 値を Light に変更すると、テンプレートは ThemeDictionaries コレクションの "Light" としてキー指定された ResourceDictionary の値を使用します。 UI テーマをアプリのテーマとは異なる方法で設定することは、多くの場合、メニューやポップアップなどのフローティング コントロールに適しています。
実行時に、特定の要素の RequestedTheme プロパティの値を変更できます。 これは Application.RequestedTheme プロパティとは異なり、アプリの実行中に設定しようとすると例外がスローされます。
FrameworkElement で設定したRequestedTheme値は、RequestedThemeが設定されている要素内で入れ子になっている要素を継承しますが、RequestedThemeをもう一度明示的に設定することで、その継承をオーバーライドできます。 たとえば、この XAML の例では、親 StackPanel によってテーマがLightに設定され、その値は最初の TextBlock 子要素に継承されますが、代わりに値が Dark に設定されているため、2 番目のTextBlockには継承されません。
<StackPanel RequestedTheme="Light">
<TextBlock>Text using light theme.</TextBlock>
<TextBlock RequestedTheme="Dark">Text using dark theme.</TextBlock>
</StackPanel>
ユーザーがハイ コントラスト モードで実行している場合、 RequestedTheme プロパティは無視されます。
ハイ コントラスト テーマと XAML ハイ コントラスト スタイルのサンプルを参照してください。
Note
Windows、RequestedTheme を ElementTheme.Default に設定すると、常に "濃い" がテーマになります。