gpt4 book ai didi

wpf - 禁用父控件时启用子控件

转载 作者:行者123 更新时间:2023-12-04 16:11:22 25 4
gpt4 key购买 nike

我有一个包含超链接的按钮,如下所示:

<Button IsEnabled="False">
<Hyperlink IsEnabled="True">Testing</Hyperlink>
</Button>

我需要启用超链接,但禁用按钮。我怎样才能做到这一点?

以上只是导致两个控件都被禁用。

最佳答案

我通过创建一个打破 IsEnabled 的简单包装元素解决了这个问题。来自父级的继承链。
框架的默认强制回调检查父 IsEnabled值并继承它。这个控件设置了一个新的强制回调,它直接返回值而不检查继承。

public class ResetIsEnabled : ContentControl
{
static ResetIsEnabled()
{
IsEnabledProperty.OverrideMetadata(
typeof(ResetIsEnabled),
new UIPropertyMetadata(
defaultValue: true,
propertyChangedCallback: (_, __) => { },
coerceValueCallback: (_, x) => x));
}
}
在问题的示例中,它将像这样使用:
<Button IsEnabled="False">
<ResetIsEnabled>
<!-- Child elements within ResetIsEnabled have IsEnabled set to true (the default value) -->
<Hyperlink IsEnabled="True">Testing</Hyperlink>default value)
</ResetIsEnabled>
</Button>

关于wpf - 禁用父控件时启用子控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14584662/

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