im使用WPFToolkit數據網格控制和做在這樣的方式的結合過程中:比主
杭大數據量的數據綁定到WPF數據網格
<WpfToolkit:DataGrid x:Name="dgGeneral" SelectionMode="Single"
SelectionUnit="FullRow"
AutoGenerateColumns="False"
CanUserAddRows="False"
CanUserDeleteRows="False"
Grid.Row="1" ItemsSource="{Binding Path=Conversations}" >
public List<CONVERSATION> Conversations
{
get { return conversations; }
set
{
if (conversations != value)
{
conversations = value;
NotifyPropertyChanged("Conversations");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
public void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
public void GenerateData()
{
BackgroundWorker bw = new BackgroundWorker();
bw.WorkerSupportsCancellation = bw.WorkerReportsProgress = true;
List<CONVERSATION> list = new List<CONVERSATION>();
bw.DoWork += delegate { list = RefreshGeneralData(); };
bw.RunWorkerCompleted += delegate
{
try
{
Conversations = list;
}
catch (Exception ex)
{
CustomException.ExceptionLogCustomMessage(ex);
}
};
bw.RunWorkerAsync();
}
而窗口將窗口的DataCotext設置爲包含GenerateData()的類的實例後調用GenerateData()。
RefreshGeneralData()返回我想要的一些數據列表,並且它快速返回。
總的來說,有近2000條記錄和6列(我沒有發佈我在網格初始化過程中使用的代碼,因爲我不認爲它可能是原因),網格掛起將近10秒!
---
PS我發現這個項目,這是寫在類似的方式,但即使是50000綁定記錄沒有被掛UI做有!我究竟做錯了什麼?
更新我認爲這是因爲ScrollViewer,其中包含整個網格。但爲什麼?
...你的問題是? – 2010-05-04 13:42:44
問題是:我如何加快綁定? – 0x49D1 2010-05-04 13:46:27
或者你可以給我的方向..關於如何正確地將數據綁定到datagrid。林新的WPF,並沒有預料到這樣的問題 – 0x49D1 2010-05-04 13:50:05