gpt4 book ai didi

wpf - 绑定(bind)到表达式

转载 作者:行者123 更新时间:2023-12-02 20:32:56 25 4
gpt4 key购买 nike

我有一个屏幕数字键盘可以输入 PIN 码。我想要做的是在输入四位 PIN 码时禁用按钮。我当然可以很容易地用代码来做到这一点,但在我看来,这应该是通过绑定(bind)来完成的事情。

类似于:

<Button Style="Whatever" IsEnabled="{Binding ElementName=PinBox ???}"/>

似乎没有办法做到这一点(老实说,这对我来说似乎相当原始。)所以我考虑了替代方案,它是底层 Window 类上的一个普通属性。但我不确定如何绑定(bind)它。我是否需要将类本身指定为其自己的数据上下文,或者是否需要将 PIN 字符串提取到 View 模型中?

随后,如何获取普通属性来更新 GUI?

我想我可以定义一个 View 模型类并有一个名为“ButtonsEnabled”的依赖属性,但对于这样一个简单的问题来说,它似乎有点重量级。

如果我遗漏了什么,请告诉我。

最佳答案

您可以编写一个转换器,根据 TextBox 中的数字返回 bool 值

按钮的 XAML 为

<Button Content="Test" IsEnabled="{Binding ElementName=PinBox,Path=Text,Converter={StaticResource DigitsToBoolConverter}}" Grid.Row="1" Height="20" Width="100"></Button>

其中 PinBox 是用于输入 pin 的文本框名称。

转换器功能是

 public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return value.ToString().Length >= 4;
}

关于wpf - 绑定(bind)到表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9406802/

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