Wpf virtualizingstackpanel различное поведение на разных машинах Win10

Мое приложение WPF использует VirtualizingStackPanel для ListView. Прокрутка этого списка отлично работает на двух разных машинах: на моей хост-машине (Windows 10 v1803, сборка 17134.228) и одной виртуальной машине (Windows 10 v1607, сборка 14393.2312). Если я запускаю то же приложение, точно такую ​​же копию, на другой моей виртуальной машине (Windows 10 v1803 build 17134.165), список не будет плавно прокручиваться - он будет очень медленным. Короткие шаги прокрутки около пары строк - это нормально (CacheLength), но прокрутка большего количества строк очень плохо, больше всего похоже на то, что виртуализация не работает должным образом. Кто-нибудь знает, зависит ли виртуализация от какого-либо компонента или настроек системы Windows 10?
Просто вставьте часть кода с помощью ListView. Спасибо за помощь.

Обновление: извините за дезинформацию - прокрутка не медленная, единица прокрутки - это не элемент, а целая страница (может быть, больше, чем страница). Так что визуальный эффект прокрутки плохой.

<ListView Grid.Row = "1"  Margin = "0,-23,0,0"  x:Name = "LogMessagesListView"  ItemsSource = "{Binding DataModel.LogMessagesList}" 
    VirtualizingPanel.ScrollUnit = "Item"
    VirtualizingPanel.CacheLengthUnit = "Page"
    VirtualizingPanel.CacheLength = "1.1"
    VirtualizingPanel.IsVirtualizing = "True"                      
    VirtualizingPanel.VirtualizationMode = "Recycling"
    SelectionMode = "Extended" SelectionChanged = "LogMessagesListView_SelectionChanged" >
    <ListView.ItemsPanel>
        <ItemsPanelTemplate>
            <VirtualizingStackPanel/>
        </ItemsPanelTemplate>
    </ListView.ItemsPanel>
    <ListView.ItemContainerStyle>
        <Style TargetType = "ListViewItem">
            <EventSetter Event = "MouseDoubleClick" Handler = "HandleLogMessageDoubleClick"/>
            <Setter Property = "VerticalContentAlignment" Value = "Top"/>
            <Setter Property = "BorderThickness" Value = "0"/>
        </Style>
    </ListView.ItemContainerStyle>
    <ListView.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width = "{Binding DataContext.Runtime.ColumnWidthHighlight, ElementName=root }"/>
                    <ColumnDefinition Width = "{Binding DataContext.Runtime.ColumnWidthLevel , ElementName=root}"/>
                    <ColumnDefinition Width = "{Binding DataContext.Runtime.ColumnWidthDate, ElementName=root}"/>
                    <ColumnDefinition Width = "{Binding DataContext.Runtime.ColumnWidthTime, ElementName=root}"/>
                    <ColumnDefinition Width = "{Binding DataContext.Runtime.ColumnWidthProcess, ElementName=root }"/>
                    <ColumnDefinition Width = "{Binding DataContext.Runtime.ColumnWidthNumber, ElementName=root }"/>
                    <ColumnDefinition Width = "{Binding DataContext.Runtime.ColumnWidthCategory, ElementName=root }"/>
                    <ColumnDefinition Width = "auto"/>
                </Grid.ColumnDefinitions>

                <Grid Grid.Column = "0" Height = "14" Width = "15" Margin = "-14,0,0,0">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width = "*"/>
                        <ColumnDefinition Width = "*"/>
                        <ColumnDefinition Width = "*"/>
                    </Grid.ColumnDefinitions>

                    <Border Grid.Column = "0" Background = "Green" CornerRadius = "0" BorderThickness = "0" Height = "14" HorizontalAlignment = "Stretch"
                                    Visibility = "{Binding IsBookmarked, Converter = {StaticResource BoolToVisibility}}"/>
                    <Border Grid.Column = "1" Background = "Yellow" CornerRadius = "0" BorderThickness = "0" Height = "14" HorizontalAlignment = "Stretch"
                                Visibility = "{Binding IsHighlighted, Converter = {StaticResource BoolToVisibility}}"/>
                    <Border Grid.Column = "2" Background = "RoyalBlue" CornerRadius = "0" BorderThickness = "0" Height = "14" HorizontalAlignment = "Stretch"
                                Visibility = "{Binding IsSearchTextHighlighted, Converter = {StaticResource BoolToVisibility}}"/>
                </Grid>

                <Image Grid.Column = "1" Source = "{Binding Level, Converter = {StaticResource LevelToImage}}" Width = "14" Margin = "-2,0,0,0"/>
                <TextBlock Grid.Column = "2" Text = "{Binding LogDate}" Margin = "1,0,0,1"/>
                <TextBlock Grid.Column = "3" Text = "{Binding LogTime}" Margin = "1,0,0,1"/>
                <TextBlock Grid.Column = "4" Text = "{Binding ProcessName}"  Margin = "1,0,0,1"/>
                <TextBlock Grid.Column = "5" Text = "{Binding MessageNumber}" Margin = "1,0,0,1"/>
                <TextBlock Grid.Column = "6" Text = "{Binding CategoryName}" Margin = "1,0,0,1"/>
                <local:TextBlockHighlight Grid.Column = "7" Margin = "1,0,0,1"
                                                   IsSelected = "{Binding IsSelected, RelativeSource = {RelativeSource FindAncestor, AncestorType = {x:Type ListViewItem}}}"
                                                   Highlighter = "{Binding DataContext.DataModel.Highlighter, ElementName=root}"
                                                   LogMessage = "{Binding .}"
                                                   DummyTrigger = "{Binding MessageInlines}" />
            </Grid>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

Возможно, я считаю, что некоторые настройки для конкретной машины. Можете ли вы проверить "Настройки мыши"?

dhilmathy 13.09.2018 16:16

Настройки мыши (также расширенные) на всех 3 машинах одинаковы. Единственная разница между рабочей и неработающей ВМ заключается в списке аппаратных устройств мыши: HID-совместимая мышь (на рабочей виртуальной машине) и USB-указательное устройство VMware (на ни одной рабочей виртуальной машине). Я проверю это позже сегодня вечером. Спасибо.

Qinitram 13.09.2018 17:08
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
172
0

Другие вопросы по теме