为什么Silverlight数据网格中的VirtualizingStackPanel.IsVirtualizing引发异常?

时间:2016-04-28 03:04:15

标签: silverlight datagrid virtualizingstackpanel

我在我的数据网格中添加了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">

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

  

{System.Windows.Markup.XamlParseException:设置属性'System.Windows.Controls.VirtualizingStackPanel.IsVirtualizing'引发异常。 [行:37位置:123] ---&gt; System.NotSupportedException:无法设置只读属性'System.Windows.Controls.VirtualizingStackPanel.IsVirtualizing'。      在MS.Internal.XamlMemberInfo.SetValue(对象目标,对象值)      在MS.Internal.XamlManagedRuntimeRPInvokes.SetValue(XamlTypeToken inType,XamlQualifiedObject&amp; inObj,XamlPropertyToken inProperty,XamlQualifiedObject&amp; inValue)      ---内部异常堆栈跟踪结束---

1 个答案:

答案 0 :(得分: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">