我在视图上有一个按钮,该按钮通过 RoutedUICommand 绑定到 ViewModel 中定义的命令。
视图中的 XAML 代码摘录:
<Button Content="Login" Command="{Binding Login}" />
在 View 的 CodeBehind 中,我将 ViewModel 中的命令绑定添加到视图的绑定集合中:
this.CommandBindings.Add( viewModel.LoginCommandBinding );
ViewModel 本身实现了命令:
public class LoginViewModel:ViewModelBase
{
public ICommand Login { get; private set; }
public CommandBinding LoginCommandBinding { get; private set; }
public LoginViewModel( ) {
this.Login =
new RoutedUICommand( "Login", "Login", typeof( Window ) );
this.LoginCommandBinding =
new CommandBinding( Login, LoginCommandHandler, CanExecuteHandler );
}
void LoginCommandHandler( object sender, ExecutedRoutedEventArgs e ) {
//Put code here
}
void CanExecuteHandler( object sender, CanExecuteRoutedEventArgs e ) {
return true;
}
}
所以命令是用文本和名称定义的“登录”。该按钮本身具有“登录”内容。有没有办法将命令的文本用作按钮的内容?