gpt4 book ai didi

wpf - 将按钮 IsEnabled 绑定(bind)到 StackPanel 有子项

转载 作者:行者123 更新时间:2023-12-01 09:36:53 31 4
gpt4 key购买 nike

我想知道我是否可以将我的 Button isEnabled 绑定(bind)到我的 StackPanel Children(有 child )。如果堆栈面板有 child ,那么我的按钮被启用,没有 child 我的按钮被禁用。目前我只是在代码中处理这个,但我开始想知道这是否是我可以绑定(bind)的。感谢您的任何想法...

最佳答案

实际上,由于您处理的是 bool,因此您可以反转逻辑并在没有转换器的情况下执行此操作:

<StackPanel Name="sp" />
<Button Content="A Button">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=sp, Path=Children.Count}" Value="0">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>

Children.Count 开始,使用它在获取更新方面会遇到一些问题。不是 DP,您可以使用 ItemsControl虽然要解决这个问题(默认情况下它的行为类似于 StackPanel):
<ItemsControl Name="ic" />
<Button Content="A Button">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=ic, Path=Items.Count}" Value="0">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>

关于wpf - 将按钮 IsEnabled 绑定(bind)到 StackPanel 有子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6023219/

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