.net 无法解析命令绑定
我第一次探索WPF和XAML,还有很多东西我还不明白 我正在解决这个问题: 我已经创建了自己的项目,并试图添加来自AvalonDockMVVM的代码 目前,我正在尝试构建菜单 在MainWindow.xaml中,我添加了:.net 无法解析命令绑定,.net,wpf,xaml,.net,Wpf,Xaml,我第一次探索WPF和XAML,还有很多东西我还不明白 我正在解决这个问题: 我已经创建了自己的项目,并试图添加来自AvalonDockMVVM的代码 目前,我正在尝试构建菜单 在MainWindow.xaml中,我添加了: <Window.Resources> <RoutedUICommand x:Key="Commands.Exit" /> </Window.Resources> <Window.CommandBindings>
<Window.Resources>
<RoutedUICommand x:Key="Commands.Exit" />
</Window.Resources>
<Window.CommandBindings>
<CommandBinding Command="{StaticResource Commands.Exit}" Executed="Exit_Executed" />
</Window.CommandBindings>
<DockPanel>
<Menu DockPanel.Dock="Top">
<MenuItem Header="_File">
<MenuItem Header="_Exit" Command="{StaticResource Commands.Exit}" />
</MenuItem>
</Menu>
...
</DockPanel>
其思想是构造一个带有单个退出选项的菜单
正如我所说,我几乎不知道我在做什么。但在我看来,似乎是在创建一个命令,将其绑定到代码隐藏中的ExitExecuted方法,并且表示当您选择该菜单项时,执行绑定到该命令的任何内容
在AvalonDockMVVM项目中,一切都很好。在我的示例中,我在{StaticResource Commands.Exit}上打赌错误:资源命令.Exit无法解析
这让我觉得,在代码或配置中,除了XAML中的元素之外,还有一些东西定义了Commands.Exit。但就我个人而言,我找不到它
要通过命令将方法绑定到菜单,是否还需要执行其他操作?请在删除后重试。在资源密钥中,即使用
我尝试了与您在这里提到的相同的代码,它在VS2010+.Net4.0中工作。您可以尝试在Expression blend中打开并查看问题吗?我将您的上述示例复制到一个新的WPF项目中,只需删除省略号并在code behind中添加一个方法来处理exit命令。它运行得很好,解析命令没有问题。这是我完整的XAML
<Window x:Class="WPFTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<RoutedUICommand x:Key="Commands.Exit" />
</Window.Resources>
<Window.CommandBindings>
<CommandBinding Command="{StaticResource Commands.Exit}" Executed="Exit_Executed" />
</Window.CommandBindings>
<DockPanel>
<Menu DockPanel.Dock="Top">
<MenuItem Header="_File">
<MenuItem Header="_Exit" Command="{StaticResource Commands.Exit}" />
</MenuItem>
</Menu>
</DockPanel>
</Window>
我会在两个地方寻找解决资源问题的方法。首先,检查是否有使用命令定义的项目级静态资源。其次,查看or上方的代码是否有未关闭的标记。这应该会引发一个解析错误,但可能不会?键中的点在他们的项目中起作用,所以它应该在我的项目中起作用。但是我尝试了一下,结果没有成功。我添加了更多的代码——确切地说,我添加了他们的MainWindowViewModel。现在这个问题解决了。这让我和以前一样困惑。视图模型中与退出无关。