나는 자식 창이있는 Grid
입니다. 이 아이들 중 일부는 복잡한 변환기가있는 MultiBinding
입니다. 이제 격자 (Collapsed
또는 Hidden
)를 숨기면 변환기가 여전히 호출 중입니다. 왜?!내 변환기가 숨겨진 창에서 호출되는 이유는 무엇입니까?
UI 요소를 숨기면 렌더러가 시각적 트리를 완전히 건너 뛸 것으로 예상됩니다. 더 구체적으로 말하면, "숨겨진"컨텍스트에서 작동 할 때 변환기를 호출하지 않기를 바랍니다! 아이디어? 요소의 Visibility
속성이 Collapsed
또는 Hidden
경우에도
당신의 가시성을 상상해이 더 우아한 해결책이 될 수 있지만 아무도 더 나은 방법의 전부 논리적 트리에서 요소를 제거하는 짧은 생각하지 않는 경우이 트릭을 할해야 하나의 컨트롤이 VM의 속성에 바인딩됩니다. 컨트롤이 보이지 않을 때 바인딩이 업데이트되지 않으면 컨트롤을 다시 표시 할 때를 어떻게 알 수 있습니까? 비주얼 트리에서 컨트롤을 완전히 제거하는 것 외에는 방법이 없다고 생각합니다. 속성이 설정되었다고해서 그것이 시각적 트리에 존재하지 않는다는 것을 의미하지는 않습니다. – Kcvin