在父元素类型上具有条件的元素上应用样式的正确方法是什么,i。即只有他们是某些其他元素的孩子?
在我的情况下,我想要应用一些确切的按钮宽度和高度,但仅当这些按钮是stackpanel的直接子节点时。此外,第二种样式应该应用于这些按钮(字形)中的图像。
orientation="horizontal"
的堆叠面板?由于我应用程序中90%的按钮都是堆叠面板上的按钮,到目前为止,我已将样式应用于所有按钮和图像,并在必要时覆盖它。但这不是最佳解决方案,是吗?
最好,解决方案将处理样式定义中的所有条件,因此我不必将该样式明确地分配给每个堆栈面板。
答案 0 :(得分:0)
<StackPanel>
<StackPanel.Resources>
<Style x:Key="Rectangle1" TargetType="Rectangle">
<Setter Property="Stroke" Value="Black" />
<Setter Property="Fill" Value="White" />
</Style>
</StackPanel.Resources>
<UniformGrid Columns="10">
<UniformGrid.Resources>
<Style TargetType="Rectangle" BasedOn="{StaticResource Rectangle1}">
<Setter Property="Fill" Value="Red" />
</Style>
</UniformGrid.Resources>
</UniformGrid>
</StackPanel>