2011-03-07 4 views
0

기본적으로 목록 상자, 체크 상자, 목록보기 등이있는 표준 WPF UI가 있지만 변경하면 변경 사항이 표시되는 데 다소 시간이 걸립니다. 예를 들어, 바인딩을 새로 고쳤다 고하자. UI 디스플레이가 즉시 업데이트되지 않는다. 체크 박스가 체크되거나 체크되지 않는 것처럼 보이려면 1 초 정도 걸립니다.WPF에서 UI 변경 점진적 업데이트를 해제하는 방법?

해제 할 수있는 설정입니까?

또는 Windows 7 Aero 관련 정보입니까? 저는 Visual Studio 2010을 사용합니다.하지만 WPF도 그렇게 행동하지는 않습니다.

아이디어가 있으십니까?

+0

솔직히 말해서, 즉시 업데이트해야합니다. 화면이 업데이트 사이에 멈 춥니 다 (CPU주기를 차지하는 항목)? 값 중 하나를 업데이트 할 때마다 "RaisePropertyChanged()"함수를 적절하게 호출하고 있습니까? – JoeCool

+0

앱이 멈춘 것처럼 보이지는 않지만 UI 변경은 한 이미지가 다른 이미지로 천천히 시각적으로 전환되는 것처럼 보입니다. –

+0

운영체제와 테마는 무엇입니까? 그리고 잠시 말하면, 문자 그대로 잠깐 의미합니까? 4 분의 1 초, 나는 이해할 수 있었지만 두 번째는 아니었다. –

답변

1

마치 시스템 테마의 전환 효과에 만족하지 않는 것처럼 들립니다. force a different system theme 수 또는 기본 스타일을 재정의 할 수 있습니다.

+0

감사합니다. 전환 효과 자체가 그다지 즉각적인 것은 아닙니다. 그렇지 않으면 앱이 반응합니다. –

1

바인딩을 새로 고칩니다. INotifyPropertyChanged를 사용하여 속성에 바인딩을 사용하고 있습니까? 변경된 항목 만 업데이트되므로 작업 속도가 가장 빠릅니다.

+0

예, UI가 바인딩 된 컬렉션이 변경되어야하므로 전체 UI를 새로 고쳐야 할 때 모든 컬렉션을 업데이트합니다. 그러나 어느 쪽이든, 그것이 하나의 체크인지 여부와 상관없이, 전체 업데이트와 비교할 때, 시간은 동일합니다. 마치 앱이 멈추는 대신 부드럽게 전환하는 것처럼 보였습니다. –

+0

INotifyCollectionChanged를 사용할 수도 있습니다. 이렇게하면 전체 컬렉션을 리콜하지 않고 개별 값이 변경 될 때 UI에 알릴 수 있습니다. ObservableCollections를 사용할 때 내장되어 있습니다. – Eric

+0

감사합니다.하지만 UI의 모든 값은 사용자가 새 파일을 선택하고 모든 것을 "다시로드"해야 할 때 파일에서 읽고 해석 한 값에 의해 결정됩니다. –

관련 문제