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 属性相反,如果在应用运行时尝试设置该属性,该属性将引发异常。
在 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 将始终导致“深色”为主题。