我是 WPF 新手,所以我不确定我所做的是否有意义.. 无论如何:我正在尝试为使用 ApplicationCommands.Open 的按钮实现命令。在我的 XAML 中,我有:
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:ViewModel"
Title="MainWindow" Height="650" Width="1170">
<Window.DataContext>
<local:ResourceListViewModel/>
</Window.DataContext>
我想在 local:ResourceListViewModel 类中有一个命令定义,到目前为止我到了那里:
void OpenCmdExecuted(object target, ExecutedRoutedEventArgs e)
{
MessageBox.Show("The command has been invoked");
}
void OpenCmdCanExecute(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = true;
}
所以我认为我必须做的就是将这些方法绑定到一个命令,所以我试图这样做:
<Window.CommandBindings >
<CommandBinding Command="ApplicationCommands.Open"
Executed="OpenCmdExecuted"
CanExecute="OpenCmdCanExecute"/>
</Window.CommandBindings>
但程序没有编译,因为它似乎在 MainWindow 中寻找这些函数。如何让程序知道我的函数定义在不同的类中?