2011-12-23 2 views
1

변경 후 I는 다음과 같이 정의 콤보의 컬럼 데이터 그리드있다. 그러나 콤보 상자의 텍스트 상자에 대한 텍스트를 다른 DataGrid에서 편집 할 수 있으며 다른 ObservableCollection (QualityItemCollection)에 저장하고 위의 그리드에서 콤보 상자를 가져 오려면 해당 컬렉션이 변경 될 때 발생하는 DataGrid에 이벤트가 있습니다. 이 경우에도 QualityInfoAssortmentCollection이 다시 읽혀지게됩니다 (콤보 상자도 다시 설정해야하므로 제대로 작동하려면 반복이 필요합니다).콤보 성능 ItemsSource

이제 데이터가 처음로드 될 때 모든 것이 멋지고 멋지다. 그러나 QualityInfoAssortmentCollection 업데이트 이벤트가 발생하면 위의 콤보 박스가 실행되기까지 5-7 초가 걸립니다. . 새로 고침 자체는 시간이 흘렀고 수행하는 데 10 분의 1 초도 걸리지 않습니다. 콤보 박스에는 8-10 개가 넘는 행이 없으며 다른 곳에서 제안 된 것처럼 가상화 스택 패널을 사용하려고해도 차이가 없습니다. 그것을 표시하는 DataGrid에는 약 10 개의 행이 있으므로 셔플해야하는 엄청난 양의 데이터에도 근접하지 않습니다.

편집 : 정의하는 QualityItemCollection을 사용할 수 없다는 자세한 설명. QualityItemColletion은 위의 DataGrid의 모든 항목에 대해 동일하지만 위 체크 박스의 항목에 대한 정보는 위의 그리드에있는 항목별로 설정됩니다. 따라서 QualityItemCollection의 복사본을 QualityItemAssortmentCollection에 복사합니다.이 복사본에는 확인란에 대한 부울도 있습니다. 이 작업을 수행하는 더 좋은 방법이있을 수 있습니까?

편집 2 : 지금 WPF 프로파일 러를 사용해 보았습니다. 프로그램이 이상한 일을하는 동안 아무것도 보이지 않는 것처럼 잠 그어 버립니다. 그러나 Visual Studio를 통해서만 프로그램을 실행하면 Visual Studio를 통해 지연이 발생하지 않으므로 Visual Studio에서 수행하는 작업으로 바뀝니다. 예.

+0

나는 이것을 얻지 못했습니다 ...'콤보 상자에있는 텍스트 상자의 텍스트는 다른 DataGrid에서 편집 할 수 있습니다. 위의 그리드에서 콤보 상자를 가져 오려면 해당 컬렉션이 변경 될 때 발생하는 DataGrid의 이벤트가 있습니다. '... 콜렉션이 관찰 가능하다면, 왜 당신이 그것을 고칠 수 없는가? 나는 당신이 말하는 그 사건의 목적을 이해할 수 없었다. –

+0

조금 더 설명하려고했습니다. – PerK

답변

4

VS 디버거에서 문제가 발생했습니다. 웬일인지 콤보 박스를 몹시 천천히 만든다.

+0

나도이 문제가있다. 나는 잘못된 것을 해결하기 위해 많은 시간을 보냈습니다. 정말 고맙습니다. 하지만 우연히 VS 디버거에서 무엇을하고 있었나요? – darbid

1

그래서 고쳐 주시겠습니까? 행사 업데이트 QualityInfoAssortmentCollection이 콤보를 발사했다

위 그것에 도달 할 때 드롭 다운 5-7 초 정도 걸립니다.

어디에서 시간을 보냅니 까? 주변에 프로파일 러가없는 것 같지 않습니다.

http://msdn.microsoft.com/en-us/library/aa969767.aspx

또한 WPF는 시간을 보낸다 경우 (즉, 당신은 몇 가지 실수가 될 수있는, 볼 수있는 WPF 레벨 프로파일 러 staretd 가져옵니다이 링크가있는 경우에, 이것은 WPF 관련되어 완전히 가능하다 일부 WPF 정의에서).

업데이트 할 수없는 업데이트 이벤트를 너무 많이 보내서 업데이트 알림을 보내기 전에 값이 변경되었는지 여부를 항상 확인해야합니다. 따라서 업 베이트는 다른 업데이트를 트리거하는 동일한 값으로 속성을 업데이트 할 수 있습니다. 프로파일 러를 사용하면 이러한 발생을 찾을 수 있습니다.

여기 아무도 yuo를 도울 수 있습니다 - 코드 등은 없습니다. 그러나 프로파일 러는 시간이 소비되는 곳에서 명백한 QUITE를 만들어야합니다.

+0

프로파일 러에 대한 링크를 제공해 주셔서 감사합니다. 그 사용자는 브레이크 포인트와 클록을 이깁니다. – Paparazzi

관련 문제