Как выполнить отложенную загрузку с помощью wpf DataGrid Control, когда scrollviewer достиг нижней части? - PullRequest
1 голос
/ 14 октября 2010
<ScrollViewer Name="svDataGrid" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" ScrollChanged="ScrollViewer_ScrollChanged" >
        <DataGrid VerticalScrollBarVisibility="Disabled"   Background="Transparent" Visibility="Collapsed" Name="dgList" Grid.Row="1" IsSynchronizedWithCurrentItem="True"
                     AutoGenerateColumns="False" AlternatingRowBackground="Azure"
                     CanUserAddRows="False" CanUserDeleteRows="False"
                     CanUserSortColumns="True" CanUserReorderColumns="False"
                     CanUserResizeColumns="True" CanUserResizeRows="False" IsReadOnly="True" MouseDoubleClick="dgList_MouseDoubleClick"  PreviewKeyDown="dgList_PreviewKeyDown">

        </DataGrid>
        </ScrollViewer>

Ответы [ 2 ]

0 голосов
/ 19 декабря 2010

Я не могу думать о какой-либо причине использовать ScrollViewer с DataGrid, поскольку @Sam говорит, что DataGrid имеет свои собственные полосы прокрутки.Если ваша причина заключается в том, что вы хотите перехватить событие ScrollChanged, вы можете сделать это, используя вложенное свойство в DataGrid:

<DataGrid ScrollViewer.ScrollChanged="ScrollViewer_ScrollChanged"  ...>
</DataGrid>
0 голосов
/ 06 декабря 2010

Ваш код, вероятно, не будет выполнять то, что вы хотите (по крайней мере, это мое предположение, так как вы не заявляете, что вы действительно хотите).

DataGrid содержит свои собственные полосы прокрутки, и, поместив DataGrid в ScrollViewer, вы скажете DataGrid, чтобы он шел в максимальном размере, без необходимости прокрутки (ScrollViewer позаботится об этом). Таким образом, сетка загрузит и отобразит все ее содержимое.

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

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