2013-12-18 4 views

ответ

2

Я мог бы быть неправильно, но я не думаю, что сетка имеет viwer прокрутки встроенный в Вы могли бы сделать что-то вроде:.

<ScrollViewer> 
    <StackPanel> 
     <Grid /> 
    </StackPanel> 
</ScrollViewer> 

Примечание: Имейте в виду, что содержание Stackpanels вообще не будет вертикально растянуть так, как вы ожидал бы

+0

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

+0

@LordTakkera это тоже правильно. – TMan

+1

Средство просмотра прокрутки должно иметь фиксированную высоту (особенно в том случае, если требуется только прокрутка сетки). В случае прокрутки всего окна фиксированная высота не требуется. – BradleyDotNET

1

Редактировать Я предположил, что OP имел в виду DataGrid ... если Grid было задумано, то я подчинюсь @ ответ TMan в ...


Характерная из StackPanel является то, что она представляет собой бесконечный (вертикальный или горизонтальный) размер. Поэтому, если DataGrid является его дочерним, тогда он увидит, что он имеет бесконечное пространство и использует всю необходимую сумму (следовательно, не прокрутка).

Чтобы включить прокрутку, вам нужно как-то ограничить высоту DataGrid. Например, установите Height или MaxHeight на сетке. Или используйте другую панель, такую ​​как Grid, которая не представляет бесконечного пространства.

Вы также можете рассмотреть возможность упаковки самого StackPanel в ScrollViewer.

+0

Я не думаю, что ограничение высоты сетки заставит полосы прокрутки, ScrollViewer - правильный подход – BradleyDotNET

+0

@LordTakkera Right ... Я предположил, что «WPF Grid» означает «DataGrid», но я полагаю, что у меня не было большой основы для это предположение. – McGarnagle

+1

@McGarnagle Я имел в виду сетку wpf, а не datagrid. Спасибо за Ваш ответ. Мне понравилось ваше объяснение, ваш ответ был полезен и, следовательно, поддержал его. – user2330678

Смежные вопросы