gpt4 book ai didi

c# - 在 WPF 中更改 ResizeGrip 的颜色

转载 作者:行者123 更新时间:2023-11-30 22:02:12 26 4
gpt4 key购买 nike

我想更改 ResizeGrip 的方 block 的颜色,但找不到合适的属性。

我尝试如下覆盖默认的 ResizeGrip 样式:

<Style TargetType="{x:Type ResizeGrip}">
<Setter Property="Foreground" Value="{StaticResource WindowBackground}" />
</Style>

我想 ControlTemplate 太复杂了,无法从 TemplatedParent 访问该属性。

那么,我应该覆盖 ControlTemplate 吗?通过代码掌握?还是我错过了更简单的事情?

最佳答案

如果我们去看看 default template我们看到这些属性不仅不受模板约束,而且其中有一个硬设置“透明”。所以我们可以收拾残局;

编辑

<Style x:Key="blah" TargetType="{x:Type ResizeGrip}">
<Setter Property="OverridesDefaultStyle" Value="True" />
<Setter Property="Foreground" Value="Blue"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ResizeGrip}">
<Border Background="{TemplateBinding Background}"
SnapsToDevicePixels="True"
Width="10"
Height="10">
<Path Data="M7.677,7.5300003 L9.677,7.5300003 9.677,9.5300002 7.677,9.5300002 z M3.786,7.5300003 L5.7859998,7.5300003 5.7859998,9.5300002 3.786,9.5300002 z M0,7.5300003 L2,7.5300003 2,9.5300002 0,9.5300002 z M3.786,3.8280003 L5.7859998,3.8280003 5.7859998,5.8280003 3.786,5.8280003 z M7.677,3.7660003 L9.677,3.7660003 9.677,5.7659999 7.677,5.7659999 z M7.677,0 L9.677,0 9.677,2 7.677,2 z" Fill="{TemplateBinding Foreground}" Height="9.53" Stretch="Fill" VerticalAlignment="Top" Width="9.677"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

现在你可以随心所欲地制作它了;

<ResizeGrip Foreground="Red" Style="{StaticResource blah}"/>

希望这有帮助,干杯。

关于c# - 在 WPF 中更改 ResizeGrip 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27095676/

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