Wpf 基于CanExecute of命令禁用文本框
我有一个按钮和一个文本框,我使用MVVM、Wpf 基于CanExecute of命令禁用文本框,wpf,xaml,mvvm,command,Wpf,Xaml,Mvvm,Command,我有一个按钮和一个文本框,我使用MVVM、INotifyPropertyChanged和MVVM将按钮设置为命令。 但是,当命令的CanExecute方法返回false时,我希望文本框被禁用,也就是说,当按钮被禁用时,我希望文本框被禁用 如何将文本框仅挂接到命令的执行?文本框没有可以直接绑定到ICommand源属性的命令属性 根据视图中的文本框和按钮之间的关系,您可以将前者的IsEnabled属性绑定到第二个属性: <Button x:Name="btn" Content="..." Co
INotifyPropertyChanged
和MVVM将按钮设置为命令。
但是,当命令的
CanExecute
方法返回false
时,我希望文本框被禁用,也就是说,当按钮被禁用时,我希望文本框被禁用
如何将
文本框
仅挂接到命令的执行
?文本框没有可以直接绑定到ICommand
源属性的命令
属性
根据视图中的文本框
和按钮
之间的关系,您可以将前者的IsEnabled
属性绑定到第二个属性:
<Button x:Name="btn" Content="..." Command="{Binding Command}" />
<TextBox IsEnabled="{Binding IsEnabled, ElementName=btn}" />
这仅在控件属于同一个控件时有效。如果没有,您应该向视图模型添加一个bool
属性,并从命令的CanExecute
方法返回该属性的值,同时将TextBox
的IsEnabled
属性绑定到该属性