私は<Style TargetType="Label">
を作成しました。すべてのラベルに使用しています。一部のコントロールではsetterプロパティを使用していません
しかし、このスタイルを使用したくないラベルが1つあります。そこではデフォルトにしたいだけです。
これを行う方法はありますか?
私は<Style TargetType="Label">
を作成しました。すべてのラベルに使用しています。一部のコントロールではsetterプロパティを使用していません
しかし、このスタイルを使用したくないラベルが1つあります。そこではデフォルトにしたいだけです。
これを行う方法はありますか?
<Label Style="{x:Null}" />
トリック
暗黙のスタイルを使用したくない名前付きスタイルを作成し、それに割り当てます。例えば
:
この例では<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を割り当てるものを除いて、赤の前景(フォアグラウンド黒)を持つことになります
'{DefaultStyle}'という名前のリソースが見つかりません。リソース名は大文字と小文字を区別します –
リソース内で定義する必要があります。 –
は考えてはいけないものがありますUIElement
のDoNotApplyStyle
ブール値のようになります。あなたができることは、その特別なラベルを与えることです。それはデフォルトのスタイルを模倣する独自のスタイルです。
<Label Text="Special label">
<Label.Style>
<Style>
<Setter Property="FontSize" Value="11"/>
...
</Style>
</Label.Style>
</Label>
ナイトウォーカー行う必要があります。良い質問を! –