2010-04-23 2 views
0

프리즘을 사용하여 메뉴를 작성합니다 (계층 구조 데이터 템플릿이있는 trtelerik 트리보기를 사용하지만 세부 사항은 중요하지 않음). 각 메뉴 항목 바인딩에 대한 명령은 모두 뷰 모델에 정의 된 동일한 위임 명령을 호출합니다. 메뉴는 명령에 대한 참조를 넣고 싶지 않은 항목으로 구성됩니다.silverlight 단일 프리즘 명령을 xaml의 항목 목록에 추가합니다.

xaml의 각 항목에 명령을 어떻게 바인딩합니까? 주위를 둘러 보았고 WPF에서 상대 소스 바인딩을 사용하고 조상을 찾을 수 있지만 실버 라이트에서이 작업을 수행하는 방법이없는 것처럼 보입니다. 델리게이트를 어떻게 든 정적 리소스로 설정할 수 있습니까? 뷰 모델에 정적 리소스를 만들 수 있다고 생각하지 않습니다. 유니티를 사용하여 매개 변수를 생성자로 확인합니다.

답변

0

하나의 옵션은 ElementName 바인딩을 통해 UserControl의 DataContext (또는 다른 컨트롤의 DataContext)에 바인딩하는 것입니다.

<UserControl x:Name="Control" xmlns:Cal="clr-namespace:Microsoft.Practices.Composite.Presentation.Commands;assembly=Microsoft.Practices.Composite.Presentation"... 

Cal:Click.Command="{Binding ElementName=Control, Path=DataContext.SomeVMCommand}" 

Here's a similar post.

당신이 바인딩 요소 이름을 할 수 몰랐다
+0

환호 :) – bobwah

관련 문제