У меня есть DataGrid
в моем приложении Silverlight, и оно прекрасно работает, добавляя строку или удаляя строку, когда я манипулирую коллекцией ItemsSource
. Однако я хочу, чтобы была дополнительная строка или элемент управления, который всегда появляется после последней строки данных.
Я могу заставить дополнительный элемент управления появляться после последней строки, используя ControlTemplate
и установив для строки RowsPresenter значение Авто высота, но это означает, что строки никогда не прокручиваются, когда область визуализации становится слишком маленькой. Однако, если я изменю высоту строки RowsPresenter на Звезду, строки будут прокручиваться, но дополнительный элемент управления будет прикреплен к нижней части сетки данных, а не к нижней части последней строки.
Есть ли способ, с помощью которого я могу настроить поведение высоты звезды на RowsPresenter, пока мой контроль отображается так, как я хочу?
В настоящее время я думаю, что мне нужно каким-то образом использовать событие LoadingRow, чтобы найти позицию последней строки, и использовать Canvas или аналогичное, чтобы разместить свой элемент управления в соответствующем месте.
Мысли
Заранее спасибо за помощь.
Обновление
Я также задал вопрос (и в конечном итоге ответил) о закреплении одного элемента управления под другим, который можно использовать для решения этой проблемы, если вы не хотите, чтобы пользовательская строка прокручивалась с остальными строками (например, в моем случай, когда я хотел, чтобы в другой строке заголовка таблицы данных отображались итоги и плавали над другими строками).
Как закрепить один элемент управления под другим в Silverlight?