WPF 命令绑定不起作用

WPF command binding not working

我想在我的 WPF 项目中做一个 command binding

1) 我创建了以下模块

Namespace Test
    Module CustomCommands
        Public ReadOnly Export As RoutedUICommand = New RoutedUICommand(
            "Export",
            "Export",
            GetType(CustomCommands),
            New InputGestureCollection(New KeyGesture(Key.F7, ModifierKeys.Alt))
        )
    End Module
End Namespace

2) 在我的主 window 中,我创建了一个 CommandBinding:

<Window.CommandBindings>
        <CommandBinding Command="local:CustomCommands.Export" CanExecute="ExportCommand_CanExecute" Executed="ExportCommand_Executed"></CommandBinding>
    </Window.CommandBindings>

3) 在我的主要 window 中的一个按钮中,我添加了绑定:

Button Command="CustomCommands.Export">Exit</Button>

我的问题在第 2 点 Visual Studio 告诉我: 名字空间 "CustomCommands" 不存在于命名空间 "clr-namespace:Test" 即使我的主要 window 是此命名空间的一部分:

<Window x:Class="MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Test"
<...></...>
</Window>

我做错了什么?

我按照这里的几个建议从调试切换到发布或从 x86 切换到 x64 并重新编译,但其中 none 解决了我的问题。

更新 感谢 mm8 的回答,我从模块 CustomCommands 中删除了 Namespace Test 并进行了重建。现在它可以正常工作了。

Test添加到命名空间声明中的默认命名空间:

xmlns:local="clr-namespace:Test.Test"

...并将 List(Of KeyGesture) 传递给您在模块中创建的 InputGestureCollection

Namespace Test 
    Public Module CustomCommands
        Public ReadOnly Export As RoutedUICommand = New RoutedUICommand(
            "Export",
            "Export",
            GetType(CustomCommands),
            New InputGestureCollection(New List(Of KeyGesture) From {New KeyGesture(Key.F7, ModifierKeys.Alt)})
        )
    End Module
End Namespace