WPF DataGrid с 1 замороженным столбцом - проблема горизонтальной прокрутки - PullRequest
1 голос
/ 19 февраля 2020

У меня очень простой WPF DataGrid с 1 замороженным столбцом. Когда я прокручиваю по горизонтали (вправо или влево), щелкая пустую часть полосы прокрутки, я прокручиваю слишком далеко - возможно, по ширине замороженного столбца. (Другие способы прокрутки, перетаскивание большого пальца, нажатие кнопок со стрелками вправо или влево, работают нормально). У меня есть несколько строк и 10 столбцов, от Col00 до Col09. Col00 заморожен. Щелчок в области, показанной на изображении, вызывает прокрутку слишком далеко. Col04. Нажмите в пустой области горизонта. полоса прокрутки перемещается слишком далеко

XAML и C#, показанные ниже ...

<Window x:Class="TestDatagridScroll.MainWindow"
    xmlns="<the usual URL>"
    xmlns:x="<the usual URL>"
    Title="TestDataGridScroll" Height="198" Width="343">
    <Grid>
        <DataGrid Name="dg" AutoGenerateColumns="True" FrozenColumnCount="1" >
        </DataGrid>
    </Grid>
</Window>
public MainWindow()
{
    InitializeComponent();
    List<RowOfCells> rowOfCellsList = new List<RowOfCells>();
    RowOfCells rowOfCells = null;
    for (int i = 0; i < 20; i++)  //  generate some data rows
    {
        rowOfCells = new RowOfCells();
        rowOfCells.Col00 = $"TextCol00-{i:D2}";
        rowOfCells.Col01 = $"TextCol01-{i:D2}";
        rowOfCells.Col02 = $"TextCol02-{i:D2}";
        rowOfCells.Col03 = $"TextCol03-{i:D2}";
        rowOfCells.Col04 = $"TextCol04-{i:D2}";
        rowOfCells.Col05 = $"TextCol05-{i:D2}";
        rowOfCells.Col06 = $"TextCol06-{i:D2}";
        rowOfCells.Col07 = $"TextCol07-{i:D2}";
        rowOfCells.Col08 = $"TextCol08-{i:D2}";
        rowOfCells.Col09 = $"TextCol09-{i:D2}";
        rowOfCellsList.Add(rowOfCells);
    }
    dg.ItemsSource = rowOfCellsList;
}

RowOfCells - это мой класс из 10 опубликованных c свойств, от Col00 до Col09.

Я встроил VS2015 (. Net 4.6.1) и VS2017 (. Net 4.7.2 и. Net 4.8) и работал в Win10 ver.1909.

Я пробовал много разных способов, но поведение всегда одинаково. На поведение не влияет наличие вертикальной полосы прокрутки.

Если я удаляю замороженный столбец, тогда все способы прокрутки в порядке, но мне нужен этот 1 замороженный столбец.

Есть ли исправление за это? Или обходной путь? Спасибо за ваше время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...