FrameworkElement.RequestedTheme 屬性

定義

取得或設定 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 子項目,但不會繼承至第二個 TextBlock ,因為它會改為將值設定為 Dark

<StackPanel RequestedTheme="Light">
  <TextBlock>Text using light theme.</TextBlock>
  <TextBlock RequestedTheme="Dark">Text using dark theme.</TextBlock>
</StackPanel>

如果使用者以高對比模式執行,則會忽略 RequestedTheme 屬性。 請參閱 高對比主題XAML 高對比樣式範例

注意

在 Windows 上,將 RequestedTheme 設定為 ElementTheme.Default 一律會導致「深色」成為主題。 在Windows Phone,使用ElementTheme.Default值會導致系統主題的查詢,如使用者所設定。

適用於

另請參閱