0

我在我的数据网格中添加了 VirtualizingStackPanel 用于按需加载记录,以消除显示所有记录所需的加载时间过长。

<sdk:DataGrid VirtualizingStackPanel.VirtualizationMode="Recycling" VirtualizingStackPanel.IsVirtualizing="True" AutoGenerateColumns="False" 
                          HorizontalAlignment="Center" Name="dgrGrid"  Width="430" Height="270" Grid.Row="1" Margin="10,10,10,10" Loaded="dgrGrid_Loaded">

但是当我试图在数据网格上加载数据时,得到了这个错误......有人能指出我在哪里纠正这个错误吗?提前致谢。

{System.Windows.Markup.XamlParseException:设置属性“System.Windows.Controls.VirtualizingStackPanel.IsVirtualizing”引发异常。[行:37 位置:123] ---> System.NotSupportedException:无法设置只读属性“System.Windows.Controls.VirtualizingStackPanel.IsVirtualizing”。在 MS.Internal.XamlMemberInfo.SetValue(Object target, Object value) 在 MS.Internal.XamlManagedRuntimeRPInvokes.SetValue(XamlTypeToken inType, XamlQualifiedObject& inObj, XamlPropertyToken inProperty, XamlQualifiedObject& inValue) --- 内部异常堆栈跟踪结束---

4

1 回答 1

0

您应该删除 ,VirtualizingStackPanel.IsVirtualizing="True"因为异常消息指出它是read-only property. SL datagrid 使用已经使用虚拟化进行性能优化,因此您只需要设置您希望它使用的虚拟化模式。

你的DataGrid遗嘱看起来像......

<sdk:DataGrid 
    VirtualizingStackPanel.VirtualizationMode="Recycling"   
    AutoGenerateColumns="False" 
    HorizontalAlignment="Center" 
    Name="dgrGrid"  
    Width="430" 
    Height="270" 
    Grid.Row="1" 
    Margin="10,10,10,10" 
    Loaded="dgrGrid_Loaded">
于 2016-04-28T03:31:05.623 回答