我正在使用MVVM模式重新创建搜索控件。我们当前的实现执行了许多代码隐藏工作来创建此控件。
我在SearchControl.xaml中有一个WPF Toolkit Datagrid
<wtk:DataGrid Name="ResultsGrid"
Grid.Row="4"
Grid.ColumnSpan="4"
Height="Auto"
AutoGenerateColumns="True"
ItemsSource="{Binding Path=.}"
DataContext="{Binding Path=Results}"
CanUserAddRows="False"
CanUserDeleteRows="False"
IsReadOnly="True"
AutoGeneratedColumns="ResultsGrid_AutoGeneratedColumns"
VerticalScrollBarVisibility="Auto"/>
控件绑定到SearchControlViewModel,它具有Results属性
public DataTable Results
{
get { return _results; }
set
{
_results = value;
OnPropertyChanged("Results");
OnPropertyChanged("ShowResults");
}
}
这适用于较小的数据集,但在给定16K +行的数据表时会崩溃。这本质上是当前实现的粘贴再现的副本,主要区别在于通过Binding应用DataGrid的数据上下文,而不是在代码隐藏中设置它。
感谢您的帮助。
答案 0 :(得分:0)
我的数据网格未被其父级正确包含,导致其没有垂直大小限制。正在显示所有行,并且没有发生虚拟化。