2011-03-31 3 views
3

MVVM 패턴을 사용하고 일부 기능 논리를 기반으로 컨트롤을 숨길 필요가있는 시나리오가 있습니다.WPF DataTrigger 대 .Net 속성

두 가지 옵션이 있습니다.

  1. 내가보기 모델에 부울 속성을 만들 수 있으며, 가시성을 처리하는 제어 대응이 바인딩이 속성은 일부 기능 로직을 기반으로 세트됩니다.

  2. 컨트롤에서 DataTrigger를 사용하여 여기에서 동일한 기능 논리를 사용하는 XAML 자체에 대한 가시성을 처리 할 수 ​​있습니다. WPF에서 등 성능 및 유지 관리 측면에서이를 처리하는 올바른 방법입니다 -

질문 (이 기능 논리는 XAML에 액세스하기 쉬운)?

+1

좋은 질문을 살펴 있습니다. :) 나는 대답을 찾는 데 관심이 있습니다. 나는 그것이 뷰 모델의 요점이라고 생각하는대로 옵션 1을 사용하고자합니다. :) – Russell

+0

@ 러셀 : 동의합니다. 2 개의 트리거를 유지할 필요가 없습니다. 속성을 1 개만 유지하면됩니다. =) – Willem

+0

[데이터 바인딩 대신 DataTrigger를 사용하는 것이 더 좋습니까?] (http://stackoverflow.com/questions/4306983/is-it-better-to-use-datatrigger-instead-of-a- 데이터 바인딩) – Snowbear

답변

2

옵션 1이라고 말하고 싶습니다. Silverlight보기로 스냅하고 싶다고합시다. 그렇다면 Silverlight 뷰에서 트리거를 만들 필요가 없습니다.

첫 번째 옵션은 MVVM에 따라 최상의 패턴이됩니다.