2009-11-16 6 views
2

명령 바인딩 속성을 가지고 있지 않은 항목 컨트롤에 바인딩과 나는 다음과 같은 코드가 추가하는 방법 :명령 내가 MVVM 패턴을 사용

<DataTemplate x:Key="ActivityEditTemplate"> 
     <ItemsControl ItemsSource="{Binding Path=ActivityList}"> 
      <ItemsControl.ItemTemplate> 
       <DataTemplate>      
        <CheckBox Margin="2,0,2,0" Content="{Binding ActivityDescription}" IsChecked="{Binding IsSelected}" Command="vm:PatternViewModel.ActivityCommand" CommandParameter="{Binding ActivityTitle}"> 
       </DataTemplate> 
      </ItemsControl.ItemTemplate> 
     </ItemsControl> 
    </DataTemplate> 

ItemsControl에 내 체크 박스가 허용 할 필요를 다중 선택. 내가 라우팅 된 명령을 가지고 쉽게 확인란에 구현할 수 있지만 항목 제어가 무너지면 명령을 실행하기 만하면됩니다. datatemplate은 WPF DataGrid의 CellEditingTemplate 정적 리소스입니다. 코드에서 여전히 MVVM 패턴을 채택하고 싶습니다. 행운을 빌어 명령을 호출하는 마우스 이탈 이벤트를 고려했습니다. 미리 감사드립니다.

+0

코드가 없습니다. – Heinzi

+0

코드를 다시 추가했습니다. 감사 – Noushad

답변

0

저는 WPF 전문가가 아니므로 질문을 잘못 읽었을 수 있습니다.

그러나, 나는 그냥 읽기 : 뷰 모델에 의해 노출 된 명령 개체와 뷰의 컨트롤을 연결하는 또 다른 방법이있다

. 일부 컨트롤 만 Command 속성, 특히 System.Windows.Controls.Primitives.ButtonBase 또는 System.Windows.Controls.MenuItem에서 파생 된 컨트롤을 통해 실제로 명령에 바인딩 할 수 있습니다. 다른 컨트롤에 명령을 연결하려는 경우 또는 단추의 Click 이벤트 이외의 다른 명령에 대해 명령을 호출하려는 경우 Expression Blend 상호 작용 트리거 및 System.Windows.Interactivity.InvokeCommandAction 클래스를 사용할 수 있습니다.

Source: blog.magnusmontin.net

당신은 이벤트 트리거를 확인하고 싶어 할 수

.

관련 문제