Сделать элемент управления TreeViewItem выполнить команду при двойном щелчке - PullRequest
0 голосов
/ 24 марта 2011

В WPF я ищу способ привязать команды к TreeViewItem, поэтому, когда я дважды щелкаю TreeViewItem, в моей ViewModel (шаблон MVVM) выполняется ICommand.Как и в Visual Studio Solution Explorer.

Я надеялся, что смогу использовать что-то вроде AttachedCommandBehaviour , но это не работает.Я думаю, это потому, что сам TreeViewItem не поддерживает команды.

Вот моя тестовая реализация, которая не работает:

<TreeViewItem Header="Opret produktions ordre">
    <acb:CommandBehaviorCollection.Behaviors>
        <acb:BehaviorBinding Event="MouseLeftButtonDown" Command="{Binding TestCommand}"/>
    </acb:CommandBehaviorCollection.Behaviors>
</TreeViewItem>

У кого-нибудь есть предложения о том, как сделать эту работу?Или, может быть, вы знаете о контроле, который дает мне эту функциональность?Я, конечно, надеюсь на дружественное решение MVVM.Желательно все в XAML.

1 Ответ

0 голосов
/ 24 марта 2011

Вы пробовали InvokeDataCommand триггер из библиотеки примеров CodePlex Expression Blend ?

<i:EventTrigger EventName="Click">
      <si:InvokeDataCommand Command="{Binding ShoppingCart.CheckOutCommand}"/>
</i:EventTrigger>

Вам понадобится фиксированная версия, хотя, если вы используете WPF4, прочтитепроблема здесь: http://blog.thekieners.com/2010/11/09/expression-blend-samples-not-working-with-silverlight-4-and-wpf-4/

Загрузите пример решения отсюда (это обновленная версия): http://expressionblend.codeplex.com/workitem/8148

...