gpt4 book ai didi

c# - 将 StackPanel.Visibility 绑定(bind)到其子项的 Visibility 属性

转载 作者:太空狗 更新时间:2023-10-30 00:13:17 24 4
gpt4 key购买 nike

我对 DataBinding 比较陌生,只是阅读它。我想要做的是:

我有一个带有许多子控件的 StackPanel:

        <StackPanel Orientation="Horizontal">
<TextBox x:Name="textbox1" Width="100">1</TextBox>
<TextBox x:Name="textbox2" Width="100">2</TextBox>
<TextBox x:Name="textbox3" Width="100">3</TextBox>
</StackPanel>

文本框的 visibility 属性可以通过代码更改。现在,如果所有 TextBoxe 都设置为 Visibility=Collapsed,我还希望将 StackPanel.Visibility 设置为 Collapsed , 但如果显示一个或多个 TextBoxe (Visibility=Visible),则 StackPanel.Visibility 也应设置为 Visible.

这可以通过简单的 DataBinding 实现吗,还是我必须在 C# 代码中实现此功能?

最佳答案

我想不出直接通过数据绑定(bind)来做到这一点的方法。

我个人会在 View 后面有一个 View 模型,并将 View DataContext 设置为 View 模型。

在 View 模型中,如果所有文本框都折叠,我将有一个属性告诉 View 。该属性将由代码设置。然后将堆栈面板可见性绑定(bind)到该属性。

(该属性必须是依赖属性,或者 View 模型必须实现 INotifyPropertyChanged 以使 View 自动更新)

关于c# - 将 StackPanel.Visibility 绑定(bind)到其子项的 Visibility 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/569144/

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