我有一个命令,它在一个单独的类中。
命令示例:
class TestCommand : Command
{
public override bool CanExecute(object? parameter) => true;
public override void Execute(object? parameter) => Application.Current.MainWindow.Title = "test";
}
命令类:
abstract class Command : ICommand
{
public event EventHandler? CanExecuteChanged
{
add => CommandManager.RequerySuggested += value;
remove => CommandManager.RequerySuggested -= value;
}
public abstract bool CanExecute(object? parameter);
public abstract void Execute(object? parameter);
}
问题是我不能将这个命令绑定到视图中的一个按钮或另一个对象(除了MenuItem)。但是如果我在视图模型中声明了一个命令,那么我就可以绑定它。
XAML文件示例
<Window.DataContext>
<local:MainViewModel/>
</Window.DataContext>
<Grid>
<button Command = "{Binding ???}"/>
<!--but-->
<MenuItem>
<MenuItem.Command>
<cmd:TestCommand/> <!--it works-->
</MenuItem.Command>
</MenuItem>
</Grid>
可以将一个命令类绑定到一个按钮上吗?
我试过:编辑DataContext
,添加RelativeSource
1条答案
按热度按时间of1yzvn41#
创建
TestCommand
类public
并向视图模型添加一个属性:然后绑定到此属性: