Я добавил VirtualizingStackPanel в свой datagrid для записей нагрузки по требованию, чтобы избавиться от слишком длительного времени загрузки, чтобы отобразить все записи.Почему VirtualizingStackPanel.IsVirtualizing в Silverlight datagrid выбрасывает исключение?
<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' бросил исключение. [Line: 37 Position: 123] ---> System.NotSupportedException: не удается установить свойство только для чтения 'System.Windows.Controls.VirtualizingStackPanel.IsVirtualizing'. на MS.Internal.XamlMemberInfo.SetValue (целевого объекта, значение объекта) в MS.Internal.XamlManagedRuntimeRPInvokes.SetValue (XamlTypeToken inType, XamlQualifiedObject & inObj, XamlPropertyToken inProperty, XamlQualifiedObject & inValue) --- Конец внутренней трассировки стека исключений ---
привет @Nkosi, я удалил 'VirtualizingStackPanel.IsVirtualizing = "True"', но кажется, что мое время DataGrid нагрузка по-прежнему то же самое. я должен подождать почти 5 минут, чтобы получить 2000 записей. добавив это в файл xaml, должен ли я добавить любую другую функцию/процесс в конец кода? – jeliey
2000 записей в сетке данных много и замедлит ваше приложение. вам следует подумать о подкачке вашего сервера данных и его загрузке в куски. – Nkosi
yup, вот почему я хочу сделать эту виртуализацию как ленивую загрузку. поэтому он должен отображать 50 первых записей. и когда пользователь прокручивает вниз по мыши, datagrid будет загружать следующие 50 записей. мы можем добиться этого, используя виртуализацию? – jeliey