2011-03-24 2 views
0

WPView에서 TreeViewItem에 명령을 바인딩하는 방법을 찾고 있습니다. 따라서 TreeViewItem을 두 번 클릭하면 ICommand가 내 ViewModel (MVVM 패턴)에서 실행됩니다. Visual Studio 솔루션 탐색기와 매우 비슷합니다.더블 클릭했을 때 TreeViewItem 컨트롤이 명령을 실행하도록 만들기

나는 AttachedCommandBehaviour과 같은 것을 사용할 수 있기를 바랬지 만 작동하지 않습니다. TreeViewItem 자체가 명령을 지원하지 않기 때문입니다.

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

사람이 일을 만드는 방법에 대한 제안이 있습니까 : 여기

이 작동하지 않는 내 테스트 구현? 아니면이 기능을 제공하는 컨트롤을 알고 계신지요? MVVM 친화적 인 솔루션을 기대합니다. XAML의 모든 것이 바람직합니다.

답변

0

CodePlex Expression Blend sample library에서 InvokeDataCommand 트리거를 사용해 보셨습니까?

<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

+0

그들의 문서는 꽤 가난합니다. 모범이 있습니까? – Vern

+0

샘플 솔루션을 다운로드하고 올바른 링크를 추가했는지 확인하십시오. 샘플 라이브러리의 예제가 자명하다. 또한 시작점으로 내 대답을 추가했지만 더 많은 정보가 필요한 경우 알려 주겠다! – dain

+0

나를 도와 줄 수있는 컴파일 문제가 있습니다. Expression.Samples.Interactivity에는 System.Windows v2.0.50727에 대한 종속성이 있습니다. 내 프로젝트에서 Expression.Samples.Interactivity 어셈블리를 참조하고 InvokeDataCommand를 사용하여 System.Windows 어셈블리에 대한 종속성을 해결할 수 없다는 컴파일 오류가 발생합니다. 어떤 생각? WPF2에서 남은 것 같습니다. – Vern