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 屬性相反,如果您嘗試在執行應用程式時設定例外狀況,則會擲回例外狀況。

RequestedTheme您在FrameworkElement上設定的值會繼承至任何巢狀在已設定之元素內的元素 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 一律會導致「深色」成為主題。

適用於

另請參閱