gpt4 book ai didi

wpf - 如何从样式影响子控件属性

转载 作者:行者123 更新时间:2023-12-04 02:53:43 25 4
gpt4 key购买 nike

我正在创建一种针对按钮的样式。将应用该样式的按钮在其内部的堆栈面板中有一个图像和一个文本块。我希望使用触发器来影响基于某些条件的子控件的属性。

我想使用按钮样式来影响堆栈面板的方向以及图像的定义宽度。

我已经查看了样式 setter 的属性智能中可用的各种子控件类型......我可以看到诸如 Grid、DockPanel 和 TextBlock 之类的东西......但是我正在寻找的那些在他们的缺席。

当我无法影响某些子控件类型时,是否有原因?有没有办法在不滚动自定义控件的情况下这样做,该控件显式公开我希望影响的子控件属性?

最佳答案

您可以使用隐式样式:

<Style TargetType="Button" x:Key="myButtonStyle"> <!-- Has a key, will only be applied on elements that have their style set to {StaticResource myButtonStyle} -->
<Setter Property="Background" Value="Green" />
...
<Style.Resources>
<Style TargetType="Image"> <!-- No key, so it is implicit and will apply to any child element of type Image -->
<Setter Property="Height" Value="20" />
...
</Style>
</Style.Resources>
</Style>

当然,您也可以添加触发器。

关于wpf - 如何从样式影响子控件属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10127740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com