語言

FrameworkElement.RequestedTheme 屬性

定義

取得或設定 UI 主題,該主題由 UIElement (及其子元素)用於資源判定。 你指定的 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 高對比風格範例。

Note

在 Windows 上,將 RequestedTheme 設為 ElementTheme.Default 時,主題總是會變成「Dark」。

適用於

另請參閱