首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在WPF中,如何根据不同TextBox文本属性的输入使按钮启用/禁用?

在WPF中,如何根据不同TextBox文本属性的输入使按钮启用/禁用?
EN

Stack Overflow用户
提问于 2015-10-06 06:41:07
回答 2查看 2.4K关注 0票数 0

如何使用wpf绑定根据不同TextBox文本属性的输入使按钮启用/禁用?

相关问题:Make Button enabled/disabled depending on the TextBox Text property in WPF?

我看到了类似的问题,但是启用/禁用依赖于一个TextBox。

是否有任何方法将启用/禁用的按钮绑定到多个TextBox文本属性?具体来说,需要根据包含ItemsControl列表的TextBox禁用/启用按钮吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-06 07:45:32

我想以MVVM的方式来处理这个问题。

通常在使用Button时,可以在XAML中设置Command属性.

代码语言:javascript
运行
复制
<Button Command="{Binding MyCommand}" Content="Click Me"/>

在您的视图模型中,您有一个与其相关联的ICommand

代码语言:javascript
运行
复制
public class MyViewModel
{
    private ICommand _myCommand;
    public ICommand MyCommand
    {
        get
        {
            if (_myCommand== null)
            {
                _myCommand = new RelayCommand(
                    p => this.CanMyCommandExecute(),
                    p => this.MyCommandExecute()
            }
            return _myCommand;
        }
    }
}

您可以看到,您在视图模型中创建了ICommand实例,并在其中为CanExecute方法编写了代码。CanExecute方法返回一个bool,它指示命令是否能够在当前条件下执行。

根据ICommand方法是返回 true 还是 false**.**,WPF将自动禁用或启用与连接的按钮。

在"CanExecute“方法中,您可以编写代码,其中考虑到视图模型的其他绑定属性的值,然后返回true of false。

因此,假设您的视图模型中有3个TextBox控件和3个绑定字符串值。在CanExecute方法中,检查这3个字符串属性的值并返回true或false。然后将相应地启用或禁用该按钮。

票数 1
EN

Stack Overflow用户

发布于 2015-10-06 06:53:25

您可以遵循这些简单的步骤,我不想自己编写完整的代码,但是如果您发现有困难,可以随意询问:

  1. 根据链接的问题,将ElementName设置为ItemsControlName
  2. 创建一个将控件作为value的转换器。在convert()中,检查ItemsControl项的条件(值)&从convert()返回禁用/启用(False/true)。 3.使用converter内部的一个键创建一个Windows.Resources实例。
  3. 将转换器添加到IsEnabled="{ElementName=ItemsControlName,Path={Binding},Converter={StaticResource convKey}}"。 你可能会出现一些句法错误,请改正并试一试。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32963343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档