У меня есть форма WPF, который содержит DataGrid. 1 столбцов в datagrid имеет тип combobox. В свойстве ItemsSource этого поля есть 1000 элементов. Следовательно, для отображения значений требуется значительное количество времени, когда нажимается стрелка, кроме комбинированного блока (проблема с обработкой, я считаю). Как мы можем сделать combo-box дисплеем предметов быстрее, практически без запаздывания?Combox столбец в вопросе производительности WPF DataGrid
ответ
Попробуйте положить это на ваш ComboBox. Вместо того, чтобы сразу загружать все предметы, это должно заставить их загружать их при их просмотре.
Для внутри DataGrid, я всегда использую DataGridTemplateColumn для моих COMBOBOX колонок:
<DataGridTemplateColumn Header="My Combo Column">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox Margin="0" ItemsSource="{Binding Path=DataContext.MyCollection, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
SelectedItem="{Binding Path=Item.Property, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" >
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Width=250 VirtualizingStackPanel.VirtualizationMode="Recycling" CanHorizontallyScroll="True"/>
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
Этот ответ хорошо подходит для комбинированного поля, но не если тип ячейки является комбинированным полем внутри файла данных. Он работает, если используется элемент управления WPF combo-box. То, что я ищу является типом клеток = выпадающей в DataGrid – Alice
@Rohan - Вы можете установить ItemsPanel в стиле на DataGridComboBoxColumn, чтобы заставить его работать .. –
Если вы используете DataGridTemplateColumn и изменить его DataTemplate быть выпадающим, то вы можете использовать пример, который я дал. Я обновлю свой ответ с помощью xaml для него – emybob
- 1. WPF Datagrid Combox редактируемые
- 2. связывание Combox в WPF DataGrid
- 3. WPF Datagrid, Установка фона всплывающего окна combox
- 4. WPF DataGrid Удалить столбец
- 5. Динамический столбец datagrid в wpf
- 6. Вычисленный столбец в datagrid WPF
- 7. Как получить SelectedValue Combox внутри DataGridTemplateColumn в wpf Datagrid?
- 8. WPF Datagrid редактируемый столбец шаблона
- 9. WPF Datagrid Столбец Нижний колонтитул
- 10. WPF datagrid разрезать столбец (MVVM)
- 11. Столбец кнопки DataGrid WPF Disable
- 12. Столбец WPF DataGrid игнорирует ширину
- 13. WPF DataGrid - Почему дополнительный столбец
- 14. Сделать столбец DataGrid WPF редактируемым
- 15. Combox не обновляется в WPF
- 16. wpf Datagrid: Combobox Интеграция в wpf datagrid
- 17. wpf datagrid дополнительный столбец в заголовке слева
- 18. Bind WPF DataGrid столбец в другую
- 19. Удалить пустой столбец в WPF DataGrid
- 20. Как добавить столбец ContextMenu в WPF DataGrid
- 21. как заморозить столбец DataGrid в WPF
- 22. Добавить столбец столбца в wpf datagrid динамически
- 23. DataGrid selectedItem привязка с selectedItem в Combox
- 24. WPF Databinding в вопросе кода
- 25. WPF 4 DataGrid в combobox
- 26. Уплотненная петля в вопросе производительности OpenMP
- 27. WPF combox и несколько флажков
- 28. WPF-столбец с изменениями размеров производительности
- 29. Выберите весь столбец, щелкнув ColumnHeader. WPF DATAGRID
- 30. WPF DataGrid, столбец шаблонов и виртуализация
Как и в сторону, я бы вопрос дизайна, где пользователь должен прокручивать 1000-х элементов, чтобы выбрать один элемент, особенно если он сам по себе является одним из многих (как я предполагаю, так как вы используете datagrid). –