gpt4 book ai didi

.net - 将路径中的填充属性绑定(bind)到样式中 ContentControl 中的 Foreground 属性

转载 作者:行者123 更新时间:2023-12-03 23:51:27 25 4
gpt4 key购买 nike

我用了两天来解决silverlight问题:带有样式的模板控制按钮。在具体按钮中,我有一个以路径为内容的 Canvas 。问题是我希望路径填充颜色从模板中的 ContentControl 绑定(bind)到前景。

但是,我无法弄清楚如何构造绑定(bind)以到达前台。例如,如果我想使用 TextBlock,它将自动从 Style 中获取 Forground 颜色。正如预期的那样,文本具有前景色。绑定(bind)的原因是动画控制前景,我希望它传播到路径的填充颜色。有任何想法吗?

该模板包含以下内容:

<Style x:Key="PathButtonStyle" TargetType="Button">

... Animations and state stuff

<Border x:Name="ButtonBackground" BorderBrush="{TemplateBinding BorderBrush}" >
<ContentControl x:Name="ContentContainer"
ContentTemplate="{TemplateBinding ContentTemplate}"
Content="{TemplateBinding Content}"
Foreground="{TemplateBinding Foreground}" />
</Border>
</Style>

在我的布局中,我有以下内容:
<Button x:Name="Play" Style="{StaticResource PathButtonStyle}" >
<Canvas x:Name="PlayIcon">
<Path Data="F1M191.4839,96.1763L177.9149,106.5173L177.9149,85.9293z"
Fill="{PATH TO CONTENTCONTROLS FOREGROUND}" />
</Canvas>
</Button>

我已经清理了代码并删除了一些东西以使其更具可读性,但我希望你能理解它背后的想法。

最佳答案

由于您为按钮命名,您可以使用绑定(bind) ElementName范围:

<Button x:Name="Play" Style="{StaticResource PathButtonStyle}" >
<Canvas x:Name="PlayIcon">
<Path Data="F1M191.4839,96.1763L177.9149,106.5173L177.9149,85.9293z"
Fill="{Binding Foreground, ElementName=Play}" />
</Canvas>
</Button>

关于.net - 将路径中的填充属性绑定(bind)到样式中 ContentControl 中的 Foreground 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3856724/

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