我注意到我在堆叠面板中有一些图像,并且每个图像都有完全相同的大小,边距,对齐等设置。我不想为风格创建全球资源。是否可以在此特定面板中声明本地样式,并且仅针对图像( TargetType 在这种情况下就足够了)?
我喜欢this solution的内容,但我不会使用全局样式资源。
<StackPanel.Resources>
<Style TargetType="Image">
<Setter Property="Width" Value="24" />
...
</Style>
</StackPanel.Resources>
<Image Source="{StaticResource Poof}"
VerticalAlignment="Top"
...
Margin="20,20,20,0" />
答案 0 :(得分:2)
只需将样式放在面板的资源中,它就会应用于面板内的所有该类型的项目。
例如:
<StackPanel>
<StackPanel.Resources>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Width" Value="200" />
</Style>
</StackPanel.Resources>
<TextBox Margin="20" />
<TextBox Margin="20" />
<TextBox Margin="20" />
<TextBox Margin="20" />
</StackPanel>
结果在宽度为200个单位的所有文本框中。
除非您使用单个项目上的设置覆盖样式。也许你这样做?
答案 1 :(得分:1)
尝试在资源中添加样式。
<Page.Resources>
<Style TargetType="Image">
<Setter Property="Width" Value="80"/>
<Setter Property="Height" Value="80"/>
</Style>
</Page.Resources>