Изменение ширины DataGrid при изменении размера столбцов - PullRequest
3 голосов
/ 17 ноября 2011

У меня есть DataGrid с пользовательской темой. Прямо сейчас, если я изменяю размер столбца и увеличиваю его, он пытается сжать другие столбцы, чтобы освободить место для этого столбца.

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

РЕДАКТИРОВАТЬ : просто чтобы уточнить, для каждого столбца установлен MinWidth. Поэтому, если общая ширина> ширина окна, я вижу полосу прокрутки. Но в тех случаях, когда у меня есть сетка данных <= ширина окна, и я расширяю один из его столбцов, ширина сетки данных должна теоретически увеличиваться в точке, когда другие столбцы сократились до их MinWidths. В этот момент вместо того, чтобы позволить DataGrid увеличиваться в ширине, он не позволяет мне расширять столбец дальше. Вместо этого я хочу, чтобы DataGrid расширялся и вмещал увеличенное пространство. </p>

Ответы [ 3 ]

2 голосов
/ 17 ноября 2011

Похоже, что у одного из ваших столбцов есть Width="*", что означает, что столбец назначен всему оставшемуся пространству и увеличивается / уменьшается по мере необходимости вместо того, чтобы позволять DataGrid расти / уменьшаться в соответствии с запросом и отображать его HorizontalScrollBar.

0 голосов
/ 17 ноября 2011

Поведение datagrid по умолчанию - это то, что вам нужно!Если ваша Datagrid не показывает горизонтальную полосу прокрутки, возможно, потому что она содержится в элементе управления, который ограничивает ее ширину.Попробуйте поместить его в сетку и убедитесь, что вы не установили свойство 'Ширина' ни для какого элемента управления (включая окно), в котором он находится.

0 голосов
/ 17 ноября 2011

для этого предназначен MinWidth столбца.Просто установите его для столбцов, которые вы не хотите уменьшать.чтобы ограничить максимальную ширину сетки, используйте ScrollViewer:)

...