2012-02-01 4 views
1

grid.items.refresh 명령을 호출 할 때 DataGrid의 내용이 업데이트되지 않으면 이상한 상황이 발생합니다.WPF DataGrid가 새로 작성되지 않았습니다.

그리드의 소스가 업데이트되었으므로 필자는 윈도우를 종료했다가 다시 열어야 만 항목 소스를 다시 데이터 그리드에 제공하는 효과가 있으며 그리드는 이제 정상입니다.

DataGrid의 items.refresh 명령에 알려진 버그가 있습니까? 아니면 제가 올바르게하지 않는 것이 있습니까?

감사합니다,

편집 : 언급하는 것을 잊었다, 이것은 단지 내 클라이언트 컴퓨터에 일어날 것으로 보인다. 평소처럼, 그것은 여기서 일하고 있지만, 나는 그 문제를 직접 보았습니다. 나는 그것을 설명 할 수 없다.

+0

그리드의 소스로 무엇을 사용하고 있습니까? –

+0

List (Of Something)입니다. 일반적으로 내용이 변경되면 함수를 호출하여 계산을 수행하고 그리드의 내용을 새로 고칩니다. –

답변

3

제안 : 당신의 열 바인딩로 데이터 그리드의 열 정의에

, 추가 할 수 UpdateSourceTrigger=PropertyChanged.

즉 : 그 문제가 해결되지 않으면 바인딩 = "{바인딩 경로 = Product.ProductCode, UpdateSourceTrigger =하여 PropertyChanged}는"

ObservableCollection<OfSomething>에 목록을 변경하는 것이 좋습니다. 그러면 WPF의 데이터 바인딩이 소스 내의 변경 내용에 자동으로 대응합니다.

+0

observablecollection에 이미이 모든 메카니즘이 적용되어 있습니까? List를 사용하는 것과 똑같은 것을 사용합니까? –

+0

+1 WPF에서 데이터 바인딩을 수행 할 때 [INotifyPropertyChanged] (http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspx)를 구현하는 클래스를 사용해야합니다. 'ObservableCollection'은 흔히 공통적 인 기본 클래스입니다. – SliverNinja

관련 문제