没有在某些控件上使用setter属性
本文关键字:setter 属性 控件 | 更新日期: 2023-09-27 18:12:01
我创建了<Style TargetType="Label">
,我在所有标签上使用它。
但是有一个标签我不想用这个样式我只想保持默认值
有办法吗?
<Label Style="{x:Null}" />
不要认为UIElement
上有DoNotApplyStyle
布尔值之类的东西。你所能做的就是给这个特殊的标签赋予它自己独特的样式,模仿默认的样式。
<Label Text="Special label">
<Label.Style>
<Style>
<Setter Property="FontSize" Value="11"/>
...
</Style>
</Label.Style>
</Label>
为不想使用隐式样式的对象创建一个命名样式,并将其赋值给它。
例如:<Window x:Class="WpfApplication6.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" x:Name="MyWindow">
<Window.Resources>
<Style TargetType="Label">
<Setter Property="Foreground" Value="Red"/>
</Style>
<Style x:Key="DefaultStyle" TargetType="Label"/>
</Window.Resources>
<StackPanel x:Name="MainCanvas">
<Label>Sample 1</Label>
<Label Style="{StaticResource DefaultStyle}">Sample 2</Label>
<Label>Sample 3</Label>
</StackPanel>
</Window>
在这个例子中,所有的标签都是红色的前景,除了那些你指定的DefaultStyle将有一个默认的风格(前景黑色)