1

隐式样式在 App.xaml 中不起作用,但正在使用本地页面资源。如何为控件制作全局样式?

<navigation:Page.Resources>
 <Style TargetType="Button">
  <Setter Property="Background" Value="Red" />
  <Setter Property="Foreground" Value="Navy" />
 </Style>
</navigation:Page.Resources>
4

2 回答 2

0

在 App.xaml 中

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="StilDict.xaml" />
        </ResourceDictionary.MergedDictionaries>
 </ResourceDictionary>

在 StilDict.xaml 中

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  ,,,, and what you use else>
<Style x:Key="ButtonStyleNavyOnRed" TargetType="Button">
<Setter Property="Background" Value="Red" />
<Setter Property="Foreground" Value="Navy" />
</Style>

在项目的任何地方使用样式

 <UserControl>
    <Button Style={StaticResource ButtonStyleNavyOnRed} Content="Yahoo! :)"/>
 </UserControl>

重要说明,如果您删除 x:Key="ButtonStyleNavyOnRed" 部分,则所有 Target 类型都将获得此样式,但不是 Button 派生对象。http://msdn.microsoft.com/en-us/library/system.windows.style(v=vs.95).aspx

希望有帮助!

于 2012-11-03T06:55:30.760 回答
0

这适用于按钮!

<Style TargetType="ButtonBase">
 <Setter Property="Background" Value="Red" />
 <Setter Property="Foreground" Value="Navy" />
</Style>
于 2012-11-03T15:52:58.383 回答