通用应用程序中的ComboBox样式



我在通用应用程序中使用wpf重写组合框的样式。在windows 8.1上一切正常,但在windows phone 8.1上,我得到错误,指出没有密钥/名称ComboBoxThemeMinWidth存在的资源。

<Application 
    x:Class="wcc.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:wcc"
    RequestedTheme="Dark">
<Application.Resources>
<Style TargetType="ComboBox">
    <Setter Property="Padding" Value="8,0" />
    <Setter Property="MinWidth" Value="{ThemeResource ComboBoxThemeMinWidth}" />
    <Setter Property="Foreground" Value="{ThemeResource ComboBoxForegroundThemeBrush}" />
...

我做错了什么?我只需要为combobox添加不同的样式,但是我不知道如何为windows phone添加样式。

好了,我解决了。根据通用应用程序中的嵌套样式,样式在WinRT中的工作方式完全不同。我通过在主页面中定义windows桌面的样式来解决这个问题。对于windows phone,我将样式放在组合框父控件的资源中,并将其用作组合框样式属性中的静态资源。样式中的许多属性也不同,但是您可以在C:Program Files (x86)Windows Phone Kits8.1IncludeabiXamlDesigngeneric.xaml中找到控件的完整定义。

相关内容

  • 没有找到相关文章