样式类似于Html中的CSS,如果你的界面有许多元素(例如按钮)的外观有相同的属性,那么可以把这些属性集中到一个称为资源的元素中,之后每个元素可以通过引用相应的资源来达到外观一致性的目的。

下面的Xaml演示了上述的效果:

 

WPF中使用Style设置界面控件外观属性<DockPanel xmlns="http://schemas.microsoft.com/winfx/avalon/2005" 
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性xmlns:x
="http://schemas.microsoft.com/winfx/xaml/2005"
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<DockPanel.Resources>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性    
<Style TargetType="{x:Type Menu}" >
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性        
<Setter Property="FontSize" Value="12" />
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性        
<Setter Property="FontFamily" Value="Verdana" />
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性        
<Setter Property="Background" Value="Yellow" />
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性    
</Style>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性    
<Style x:Key="Header" TargetType="{x:Type StackPanel}">
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性        
<Setter Property="Background">
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性            
<Setter.Value>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性                
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性                    
<LinearGradientBrush.GradientStops>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性                        
<GradientStop Offset="0" Color="#0000FF" />
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性                        
<GradientStop Offset="0.5" Color="#FFFFFF" />
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性                        
<GradientStop Offset="1" Color="#0000FF" />
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性                    
</LinearGradientBrush.GradientStops>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性                
</LinearGradientBrush>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性            
</Setter.Value>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性    
</Setter>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性    
</Style>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性    
<Style TargetType="{x:Type Button}">
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<Setter Property="Margin" Value="10,10,10,0"/>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<Setter Property="DockPanel.Dock" Value="Top"/>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<Setter Property="Height" Value="25"/>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<Setter Property="Width" Value="100"/>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<Setter Property="Foreground" Value="Black"/>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<Setter Property="Background">
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性  
<Setter.Value>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性    
<RadialGradientBrush>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性        
<RadialGradientBrush.GradientStops>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<GradientStop Offset="0" Color="#FFFFFF" />
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<GradientStop Offset="2" Color="#0000FF" />
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性        
</RadialGradientBrush.GradientStops>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性    
</RadialGradientBrush>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性  
</Setter.Value>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
</Setter>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性      
</Style>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性  
</DockPanel.Resources>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性 
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<StackPanel Name="Header" DockPanel.Dock="Top" Height="100" Style="{StaticResource Header}"/> 
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<Menu DockPanel.Dock="Top">
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<MenuItem Header="File"/>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<MenuItem Header="Eidt" />
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<MenuItem Header="View" />
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<MenuItem Header="Tools"/>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<MenuItem Header="Help"/>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
</Menu>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性 
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<StackPanel DockPanel.Dock="Bottom" Height="40" Background="DarkBlue" />
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<StackPanel DockPanel.Dock="Left" Width="120" Background="LightGray">
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性 
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<Button Height="30" HorizontalAlignment="Left" FontFamily="VerDana">
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性First
</Button>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<Button Height="30" HorizontalAlignment="Left" FontFamily="VerDana">
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性Second
</Button>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<Button Height="30" HorizontalAlignment="Left" FontFamily="VerDana">
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性Third
</Button>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<Button Height="30" HorizontalAlignment="Left" FontFamily="VerDana">
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性Quit
</Button>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性 
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
</StackPanel>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
<StackPanel />
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性 
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性
</DockPanel>
WPF中使用Style设置界面控件外观属性
WPF中使用Style设置界面控件外观属性

 

 在代码中,我们在DockPanel的资源定义了Header的StackPanel背景以及Button的背景和其他属性。因为有多个StackPanel,我们只要求Header有渐变的背景,所以必须给Style一个Key,这样Header面板就可以通过Style="{StaticResource Header}"引用资源的设置。

在按钮的样式定义中,我们并没有设置key,这样可以对所有按钮有效。 

相关文章:

  • 2022-12-23
  • 2021-09-04
  • 2021-08-14
  • 2022-12-23
  • 2021-07-19
  • 2022-12-23
  • 2021-08-07
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-27
  • 2022-12-23
相关资源
相似解决方案