WPF - имя не существует в пространстве имен

1

У меня возникает проблема с пространством имен при попытке реализовать некоторые пользовательские привязки в WPF. Я получаю сообщение об ошибке "Имя" CustomCommands "не существует в пространстве имен" clr-namespace: GraphicsBook; assembly = Testbed2D ".

В моем XAML у меня есть:

<Window x:Class="GraphicsBook.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:k="clr-namespace:GraphicsBook;assembly=Testbed2D"
Title="Window1"

 <Window.CommandBindings>
    <CommandBinding Command="k:CustomCommands.AddCircle" CanExecute="AddCircleCommand_CanExecute" Executed="AddCircleCommand_Executed"></CommandBinding>
</Window.CommandBindings>

<Menu>
    <MenuItem Header="Add">
        <MenuItem Command="k:CustomCommands.AddCircle" />
    </MenuItem>
</Menu>

И мой файл CustomsCommand.cs находится в папке проекта. Внутри этого файла:

namespace GraphicsBook
{
    public partial class CustomCommandSample : Window
    {
        public CustomCommandSample()
        {
            ...
        }

        private void AddCircleCommand_CanExecute(object sender, CanExecuteRoutedEventArgs e)
        {
            e.CanExecute = true;
        }
    }

    public static class CustomCommands
    {
        public static readonly RoutedUICommand AddCircle = new RoutedUICommand
            (
                    "AddCircle",
                    "AddCircle",
                    typeof(CustomCommands),
                    new InputGestureCollection()
                            {
                                    new KeyGesture(Key.F4, ModifierKeys.Alt)
                            }
            );
    }
}

Ошибка исходит из строки "MenuItem Command =" k: CustomCommands.AddCircle ".

Любая помощь приветствуется!!

Теги:
namespaces
wpf
undefined

1 ответ

1

Неправильное отображение пространства имен XML/CLR: у вас есть k aliasing GraphicsBook, но CustomCommands объявляется в GraphicsBook.Assignment.

Вы также можете попробовать использовать {x:Static k:CustomCommands.AddCircle} вместо просто k:CustomCommands.AddCircle.

  • 0
    Извините, я действительно удалил это, и это все еще не работало ..: /
  • 0
    А CustomCommands объявлен в сборке Testbed2D ?
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню