Я скачал этот AttachedCommandProject и запустил его, и он хорошо работает , позволяет мне, например, поместите команду MouseDown в элемент Border и обработайте ее с помощью команды в моей ViewModel.
Теперь я хотел бы добавить эту функциональность AttachedCommand в мой шаблон Visual Studio MVVM .
Я скопировал все необходимые файлы в папку «Мои команды» проекта MVVM:
13.12.2008 21:00 7.445 BehaviorBinding.cs
05.12.2008 17:50 7.477 CommandBehavior.cs
13.12.2008 21:01 3.908 CommandBehaviorBinding.cs
13.12.2008 21:06 5.097 CommandBehaviorCollection.cs
04.12.2008 21:48 3.564 EventHandlerGenerator.cs
05.12.2008 17:52 2.376 ExecutionStrategy.cs
05.12.2008 17:52 2.067 SimpleCommand.cs
Но когда я пытаюсь использовать его с тем же синтаксисом, что и в исходном проекте, я получаю ошибку Свойство 'CommandBehavior.Event' не существует в пространстве имен XML 'clr-namespace: MvvmWithAttachedBehaviors.Commands'. .
Нет других файлов для копирования и других ссылок для добавления, насколько я вижу.
Что эта ошибка пытается сказать мне? Кто-нибудь получил эту функцию AttachedCommandBehavior для работы в других проектах?
<Window x:Class="MvvmWithAttachedBehaviors.Views.MainView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:c="clr-namespace:MvvmWithAttachedBehaviors.Commands"
Title="Main Window" Height="400" Width="800">
<DockPanel>
<StackPanel>
<TextBlock Text="{Binding Output}"/>
<Border Background="Yellow" Width="350" Margin="0,0,10,0" Height="35" CornerRadius="2"
c:CommandBehavior.Event="MouseDown"
c:CommandBehavior.Command="{Binding SomeCommand}"
c:CommandBehavior.CommandParameter="This is the parameter sent."
>
<TextBlock Text="MouseDown on this border to execute the command"/>
</Border>
</StackPanel>
</DockPanel>
</Window>