gpt4 book ai didi

wpf - 文本框和按钮 - 绑定(bind)和命令

转载 作者:行者123 更新时间:2023-12-04 23:46:29 41 4
gpt4 key购买 nike

我正在使用 MVVM 模式。我有一个

  1. 文本框的Text属性绑定(bind)到ViewModel的(VM支持INotifyProperyChange)Text属性
  2. 其命令绑定(bind)到 VM 的 ICommand 属性类型的按钮

您可以将其视为 SearchTextBox 和 SearchButton

我面临的问题是,当我在 SearchTextBox 中输入文本并单击 SearchButton 时,只会调用 SearchTextBox 绑定(bind)的 set 属性实现,但会调用 SearchButton 的 Command单击从不执行(注意:ICommand CanExecute 处理程序 始终返回 True)

如果我使用 TAB 键跳出 SearchTextBox 或使用鼠标将焦点从 SearchTextBox 移开然后单击 SearchButton,它会正常工作。这意味着执行两个单独的操作来分别触发两个事件。理想情况下,单击 SearchButton 应导致 SearchTextBox 失去焦点,从而调用 Set 属性,单击 Search 按钮将转化为命令执行。

代码如下

XAML:

<TextBox Text="{Binding Path=SearchText,Mode=TwoWay}"/>

<Button Content="Search" Width="100" Command="{Binding MySearchCommand}"/>

C#:

public String _SearchText;
public String SearchText
{
get { return _SearchText; }
set
{
_SearchText = value;
OnPropertyChanged("SearchText");
}
}

ICommand 实现是标准实现,没有花哨的代码,CanExecute 处理程序始终返回 True

最佳答案

尝试通过编写一个重现问题的小型测试项目来隔离问题,如果可以重现,请发布代码。通常,当您在主项目之外重现问题时,问题和解决方案就会变得显而易见。

关于wpf - 文本框和按钮 - 绑定(bind)和命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2865088/

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