DataGridControl
ユーザーの選択に応じて DataTables が取り込まれた WPF Extended Toolkit からaa を取り込みます。ユーザー選択が変更されると、200 x 1000 行の DataTable の表示に大きな遅延が発生するだけでなく、ユーザー操作の遅延がDataGridControl
発生して、ユーザーが他のコントロールと対話できなくなります。別のスレッド。
DataGridControl の更新中にユーザーがビュー内の他のコントロールを操作できるように、遅延を取り除くにはどうすればよいですか?
public string ListBoxSelection {
get {
return listBoxSelection;
}
set {
listBoxSelection = value;
OnPropertyChanged("ListBoxSelection"); // DataGridSelection
BackgroundWorker threadPreviewLoader = new BackgroundWorker();
threadPreviewLoader.DoWork += (LoadDataGridPreview);
threadPreviewLoader.RunWorkerAsync();
}
}
private DataTable dTPreviewWindow; //modified in thread
public DataView dvLbSelection {
get {
return dTPreviewWindow.DefaultView; //DataGridControl binding
}
}
private void LoadDataGridPreview(object sender, DoWorkEventArgs e) {
if (listBoxSelection != null) {
try {
DataTable testImmediateChange = new DataTable();
testImmediateChange = DataSetModel.ChunkFlatFile(listBoxSelection, 1, PREVIEW_WINDOW_MAX_ROWS); //labor itensive work
dTPreviewWindow = testImmediateChange;
fileOpenGood = true;
} catch {
fileOpenText = DATAGRID_TEXT_BADFILE;
fileOpenGood = false;
}
fileOpenText = DATAGRID_TEXT_NOFILECHOSEN;
OnPropertyChanged("FileOpenGood");
OnPropertyChanged("FileOpenBad");
OnPropertyChanged("FileOpenText");
OnPropertyChanged("dvLbSelection");
} else {
ValidatePreviewWindow(true);
}
}