款式取自哪里?

时间:2012-08-14 19:34:28

标签: xaml windows-8 microsoft-metro winrt-xaml

我有一个问题

我已经创建了新的win8 metro应用程序,而且我没有从它采用样式的地方获得。 我更改了样式文件的App.xaml名称。我的Style.xaml看起来像这样

<!-- Page layout roots typically use entrance animations and a theme-appropriate background color -->
<Style x:Key="LayoutRootStyle" TargetType="Panel">
    <Setter Property="Background" Value="White"/>
    <Setter Property="ChildrenTransitions">
        <Setter.Value>
            <TransitionCollection>
                <EntranceThemeTransition/>
            </TransitionCollection>
        </Setter.Value>
    </Setter>
</Style>

但我仍然收到金色字母,当我将它悬停时,我的按钮会变白。与默认的StandardStyles.xaml

相同

我做错了什么?或者它运作得很好?

2 个答案:

答案 0 :(得分:1)

您显示的样式只会影响使用该样式的面板。如果在面板内放置一个按钮,则面板的样式不会与按钮级联。按钮有自己的样式,正如您从standardstyles.xaml中正确推导出来的那样,它控制着它的外观。如果要更改按钮的样式,则需要创建新样式或更新当前样式。

答案 1 :(得分:0)

问题是您使用 x:Key 属性为您的样式添加了一个键。一旦样式具有键,它将仅应用于隐式使用该命名样式的控件。如果删除该键,则该样式应应用于与 TargetType 匹配的所有控件(在本例中为Panel)。