我使用wpf在通用应用程序中覆盖了combobox的样式。在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}" />
...
我做错了什么?我需要的只是组合框的不同风格,但我无法知道如何为Windows手机做这件事。
答案 0 :(得分:0)
好的,我解决了。根据这个Nested styles in Universal Apps,样式在WinRT中的工作方式完全不同。我通过在MainPage中为windows桌面定义样式来解决它。对于Windows Phone,我将样式放在组合框的父控件的资源中,并将其用作组合框样式属性中的静态资源。样式中的许多属性也不同,但您可以在C:\Program Files (x86)\Windows Phone Kits\8.1\Include\abi\Xaml\Design\generic.xaml
中找到控件的完整定义。