2012-05-21 2 views
5

WPF MVVM에 익숙하지 않습니다. WPVM에서 MVVM 응용 프로그램의 비헤이비어 사용을 명확히 해 준 사람이 있습니까? 왜 우리는 행동을 취해야합니까? WPF MVVM에서 메소드 액션이 있더라도?WPF MVVM에서 동작 사용?

답변

6

동작은 요소에 연결하는 것으로 응용 프로그램이 응답해야하는 시간을 지정합니다.

동작은 동작에 첨부되어 동작이 트리거 될 때 응용 프로그램에서 수행해야 할 작업을 정의합니다. 기능 자체에 포함 된 단위 : 눈에서

From this article:

는 동작은 동작과 유사합니다. 주된 차이점은 으로 예상되는 동작이 호출되고 호출 될 때 일부 동작을 수행한다는 것입니다. 동작에는 호출 개념이 없습니다. 그 대신 객체에 대한 추가 기능으로 을 추가로 실행합니다. 필요한 경우 객체에 부착 할 수있는 선택적 기능입니다 (예 : ). 환경에서의 자극에 대해 이라는 응답으로 특정 작업을 수행 할 수도 있지만 사용자가이 자극이 무엇인지 제어 할 수 있다고 보장 할 수 없습니다. 사용자가 정의 할 수있는 것과 수행 할 수없는 것을 결정하는 것은 개발자의 책임입니다.

And from this article

:

행동은 하나의 재사용 가능한 단위로 여러 관련 또는 의존 활동 플러스 상태를 캡슐화 할 수 있습니다.

+1

세부 정보가 명확하지 않습니다. Erno .. 기타 자세한 게시물이나 자습서는 샘플이 있습니다 .. ..? –

+1

내 답변에 추가했습니다. 나는 그것을 더 잘 설명 할 수있는 방법을 볼 수 없다. 당신도 이것을 읽을 수 있습니다 : http://electricbeach.org/?p=148 –

+0

나는 지금 허가 ... 감사 ... :) –

0

MVVM에서 ViewModel이 메서드가 아니라 메서드를 노출하는 경우에는보기에서 메서드를 호출해야 할 수 있습니다. 행동은 이것을 허용합니다.

"우리는 WPF MVVM에서 메서드 동작이 있습니다"라고 말하지만 "메서드 동작"은 WPF의 일부가 아닙니다. 도우미 MVVM 라이브러리를 사용하는 경우 명령에서 메소드를 캡슐화 할 수있는 "메소드 조치"를 제공 할 수 있습니다. 이 경우 메서드를 사용하는 MVVM 패턴에는 비헤이비어가 필요하지 않습니다.

그러나 동작에는 MVVM 외부의 다른 용도가 있습니다.

0

내가 매우 이
설명이 code project article 것을 읽어 보시기 바랍니다 - 어떤 행동
를 부착 - 그것은 대안
의 무엇인가 -

그것의 장점은 유사한 문제에 대한 대안 솔루션에 비해 생각은 너야 첨부 된 속성을 노출하는 클래스에서 요소에 액세스 할 수 있도록 요소에 연결된 속성을 설정합니다. 클래스에 요소에 대한 액세스 권한이 있으면 해당 클래스에 이벤트를 후킹 할 수 있으며 해당 이벤트가 발생하면 그에 대한 응답으로 요소가 정상적으로 수행하지 않는 작업을 수행하게 할 수 있습니다. 하위 클래스를 만들고 사용할 수있는 매우 편리한 대안이며 XAML과 매우 친숙합니다.객체에 이벤트를 후킹하고 발사 할 때 뭔가를하고 위의 문서

에서

결론은 상상력의 스트레칭에 의해, 확실히 획기적인 혁신 없습니다. 그러한 의미에서, 부착 된 행동은 동일한 오래된 일을 에게하는 또 다른 방법 일뿐입니다. 그러나이 기술의 중요성은 이며 이름이 있습니다. 이것은 아마도 디자인 패턴의 가장 중요한 부분 일 것입니다. 또한 연결된 동작을 만들고 시스템의 부분을 수정하지 않고도 요소에 적용 할 수 있습니다. 그것은 Pascal 빙 겔리 (Binggeli)에 의해 제기 된 문제에 대한 청결한 해결책이며, 많은 다른 많은 문제들입니다. 도구 상자에 에 대한 유용한 도구입니다.