2011-05-09 2 views
0

데이터 가져 오기를위한 데이터 그리드 및 링크가있는 기본 창이 있습니다. 사용자가 링크를 클릭하면 찾아야합니다. 사용자가 가져올 파일을 선택하게합니다. 그리고 데이터베이스에 성공적으로 데이터를 가져 오는 다른 창이 열립니다.WPF의 기본 창을 다시로드하거나 다시 설정

이제 기본 창에서 데이터 그리드의 데이터를 표시하려고합니다. 그래서 기본적으로 WPF에서 가져온 데이터를 표시 할 수 있도록 기본 창을 재설정하려고합니다.

메인 윈도우의 내부 함수를 호출하여 close()하고 데이터 그리드에 데이터를 초기화하고 바인딩하려고했습니다. 그러나 그것은 작동하지 않습니다.

쉬운 방법이 있습니까?

+0

실제로 컬렉션이 변경된 컬렉션이나 새로 고침으로 DataGrid를 업데이트 할 수있는 방법이 있습니까? – alice7

+0

INotifyCollectionChanged에 대해 생각하고 있었다고 생각합니다. – alice7

답변

0

데이터 격자에 대한 데이터 바인딩을 설정하는 방법에 따라 해당 바인딩 소스에서 단순히 ResetBindings를 호출 할 수 있습니다.

주 윈도우에 바인딩 소스 B가 있고 DataGrid 또는 컨트롤이 바인딩 소스에 바인딩되어 있다고 가정 해 보겠습니다. b의 datasource 속성은 데이터를 포함하는 컬렉션으로 설정됩니다. b에 바인딩 된 모든 컨트롤을 "새로 고침"하려면 b의 ResetBindings를 호출하면됩니다.

당신은 또한

0

는 그냥 데이터 바인딩을 사용하여 소스를 업데이트 등의 항목이 추가되는 경우 BindingSource에 통지 할 IBindingList를 구현하는 컬렉션을 사용할 수 있습니다. INotifyPropertyChanged를 구현하는 직렬화 가능 클래스를 사용하고 있습니까? 데이터 바인딩을 사용하려면 Inotify를 구현해야합니다.

NavigationWindow 및 Pages를 살펴보십시오. 단일 창 응용 프로그램을 쉽게 만들 수 있습니다.

관련 문제