2015-10-10 5 views
0

Элемент управления <DataGrid> сохраняет вертикальное положение, когда я загружаю его слишком большим количеством элементов.Как отключить автоматическое изменение размера DataGrid

Как я могу сохранить свой первоначальный размер без изменений? У меня также есть атрибут SizeToContent="Height" на родительском <Window>.

Маленькая демо (высота должна оставаться таким же, как он был пуст):

demo

Очень упрощенный XAML фрагмент кода, который должен помочь вам распознать проблему:

<Window SizeToContent="Height"> 
<Grid> 
<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="*"/> <!-- First column --> 
    <ColumnDefinition Width="*"/> <!-- Second column --> 
</Grid.ColumnDefintions> 

<DataGrid Grid.Column="0">...</DataGrid> <!-- Should resize to second column and not get longer when items are added on runtime --> 
<TextBlock Grid.Column="1" Height="500"/> 
</Grid> 
</Window> 
+0

При удалении 'SizeToContent' ваше окно должно остановить изменение размера для размещения' DataGrid' – dkozl

ответ

0

Что произойдет, если вы удалите свойство «SizeToContent» для окна?

В противном случае установите фиксированный размер/высоту для datagrid.

Height="200" 
+0

Когда я удалить SizeToContent свойство окно получает слишком долго. Я не хочу устанавливать фиксированную высоту для DataGrid, потому что она находится внутри сетки и должна свободно изменять размер до второго столбца справа (не видно на моей демо). – stil

+0

Хорошо. Если вы установите высоту в auto!? Извините за эту попытку и ошибку, но я не могу восстановить эту проблему прямо сейчас ... – Niklas

0

Попробуйте это:

<DataGrid VerticalAlignment="Top" /> 
Смежные вопросы