FrameworkElement.RequestedTheme 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定 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」。