gpt4 book ai didi

wpf - 如何绑定(bind)到按钮的 TextElement.Foreground?

转载 作者:行者123 更新时间:2023-12-04 22:09:19 26 4
gpt4 key购买 nike

我有以下按钮:

<Button>
<Path Stroke="???" Data="M0,5 H10 M5,5 V10Z" />
</Button>

我想将路径的 Stroke 属性绑定(bind)到按钮的基础内容呈现器的 TextElement.Foreground 属性。这样一来,它始终与任何其他按钮中的任何文本具有相同的颜色。

我尝试过的:

{Binding Path=(TextElement.Foreground), RelativeSource={RelativeSource TemplatedParent}}

我得到的是由 System.IO.FileNotFoundException 引起的 XamlParseException。它说找不到程序集 RibbonControlsLibrary。我的错是什么?还有别的办法吗?

问候,世界树

最佳答案

我可以回答我自己的问题。

首先我需要的是:

{Binding Path=(TextElement.Foreground), RelativeSource={RelativeSource AncestorType=ContentPresenter}}

但是我也遇到了异常。我看到我的项目以某种方式引用了 RibbonControlsLibrary。我删除了这个并且没有异常(exception)。有趣的是,如果我使用明确的颜色,我也不会异常(exception)。

我发现的另一件事是,在 Windows 7 标准主题中我可以使用 {Binding Foreground, ElementName=button} 因为它是这样实现的:

<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="#ADADAD"/>
</Trigger>

在 Windows 8 中这不起作用,因为实现已更改为:

<Trigger Property="IsEnabled" Value="false">
[...]
<Setter Property="TextElement.Foreground" Value="{StaticResource Button.Disabled.Foreground}" TargetName="contentPresenter" />
</Trigger>

问候,Yggdrasil。

关于wpf - 如何绑定(bind)到按钮的 TextElement.Foreground?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19131899/

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