У меня есть проект, который использует DataGrid
с пользовательским шаблоном, чтобы я мог добавить специальную строку в конец строк данных. Мне бы хотелось, чтобы эта специальная строка была закреплена под последней строкой, но не как часть ScrollViewer
, чтобы она оставалась закрепленной под последней строкой до тех пор, пока нижняя часть специальной строки не достигнет нижней части сетки данных, а затем я бы как область строк, чтобы изменить размер до промежутка между ними и прокрутить соответственно, с особой строкой всегда видимой.
Пока что мой специальный ряд является частью ScrollViewer
вместе с RowsPresenter
. И докладчик, и специальная строка находятся в строках с автоматическими размерами Grid
в пределах ScrollViewer
, а ScrollViewer
- в строке сетки звездного размера, так что полоса прокрутки будет появляться, когда в ней заканчивается свободное место. Как я могу получить от этого, где строки и специальные строки прокручиваются вместе туда, где я хочу быть, где строки прокручиваются, но специальная строка закреплена внизу и всегда видна?
Хотя в моем примере используется DataGrid
, я уверен, что его можно упростить до простого прокручиваемого элемента различной высоты и элемента управления, закрепленного под ним. До сих пор я думаю, что мне нужен Canvas
, а не Grid
для размещения моей ScrollViewer
и сопутствующей специальной строки, с некоторой логикой для регулировки высоты и положения при росте ScrollViewer
(если я могу это обнаружить), но я еще не пробовал это. Есть ли лучший способ или подход Canvas
лучший из доступных?