【发布时间】:2014-08-07 15:40:38
【问题描述】:
我有一个 WPF 应用程序,其中包含 wpf 工具包数据网格。
这是 DataGrid 控件的 XAML 代码
<wpf_toolkit:DataGrid ItemsSource="{Binding Plans, Mode=OneTime}" Grid.Row="0" x:Name="PlanDataGrid" ColumnWidth="auto" HorizontalScrollBarVisibility="Auto">
<wpf_toolkit:DataGrid.Columns>
<wpf_toolkit:DataGridTextColumn Header="Key Note Name" IsReadOnly="True"
Binding="{Binding Path=KeyNotepad, Mode=OneTime}" />
<wpf_toolkit:DataGridTextColumn Header="SKO Name" IsReadOnly="True"
Binding="{Binding Path=SKOName, Mode=OneTime}" />
<wpf_toolkit:DataGridTextColumn Header="SKO Version" IsReadOnly="True"
Binding="{Binding Path=SKOVer, Mode=OneTime}" />
<-- Other 10 columns with data templates, bindings etc. -->
</wpf_toolkit:DataGrid.Columns>
</wpf_toolkit:DataGrid>
DataGrid 的ItemsSource 属性绑定到简单的基于字符串的视图模型的集合。
所以,问题在于 DataGrid 从项目源 columns_count * visible_rows_count 次(大约 27*13 次)中获取数据,这导致了可怕的应用程序制动。
有什么方法可以减少从 DataGrid 到项目源的调用次数?
提前致谢。
【问题讨论】:
标签: c# wpf data-binding