Хорошо, я использую сетку для отображения различного контента. Как я могу получить конкретные копии для изменения размера, в то время как другие остаются фиксированными.WPF - изменение размеров столбцов и строк в сетке
То есть, форма всплывает со спецификацией Начальные размеры столбцов для элементов управления ... если пользователь ИЗМЕНЯЕТ ФОРМУ ... Я хочу, чтобы определенные поля «напоминания» расширялись. Как это сделать? Кажется, я могу только получить ВСЕ «второй» столбцы для расширения по высоте ... не только 1 (последний) ... или конкретные.
Спасибо за помощь!
Вот макет ... как я могу сделать «длинный» текст изменяемым по размеру с изменением размера формы и удерживать кнопку приклеенной к нижней части формы ??? ТХ
<DockPanel VerticalAlignment="Top">
<Grid DockPanel.Dock="Top" VerticalAlignment="Top" HorizontalAlignment="Stretch" Grid.Column="0" Margin="10,10,10,10" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition MinWidth="150" ></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition MinHeight="80" Height="Auto"></RowDefinition>
<RowDefinition ></RowDefinition>
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Content="Test1"/>
<Label Grid.Column="0" Grid.Row="1" Content="Test2 -Long notes"/>
<Label Grid.Column="0" Grid.Row="2" Content="Test3"/>
<TextBox Height="Auto" Grid.Column="1" Grid.Row="0" />
<TextBox Height="Auto" Grid.Column="1" Grid.Row="1" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" />
<TextBox Height="Auto" Grid.Column="1" Grid.Row="2" />
</Grid>
<StackPanel DockPanel.Dock="Bottom" Orientation="Horizontal" HorizontalAlignment="Right" MinHeight="20" Margin=" 0,0,10,10">
<Button Content="OK" Margin="0,0,10,0" Width="75" IsDefault="True"/>
<Button Content="Cancel" Width="75" IsCancel="True" />
</StackPanel>
</DockPanel>
(добавлено после 1 «ответ») Теперь, если я удалить нижнюю StackPanel (Ok, Cancel кнопки) из уравнения, чтобы сделать это проще и я установить 1-й и 2-й строки на фиксированное значение ... я, кажется, могу получить эту работу (не хочу, чтобы установить максимальную высоту, хотя) ... о, и мне нужно изменить verticalAlignment на «растянуть». Но как только я добавить StackPanel для кнопок снова ... растягивание больше работает не ... так вот следующий пересмотренный вариант ...
<DockPanel VerticalAlignment="Stretch">
<Grid DockPanel.Dock="top" VerticalAlignment="Stretch" Grid.Column="0" Margin="10,10,10,10" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition MinWidth="150" Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition MaxHeight="30"></RowDefinition>
<RowDefinition MinHeight="80" Height="*"></RowDefinition>
<RowDefinition MaxHeight="30"></RowDefinition>
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Content="Test1"/>
<Label Grid.Column="0" Grid.Row="1" Content="Test2 -Long notes"/>
<Label Grid.Column="0" Grid.Row="2" Content="Test3"/>
<TextBox Grid.Column="1" Grid.Row="0" />
<TextBox Grid.Column="1" Grid.Row="1" TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" />
<TextBox Grid.Column="1" Grid.Row="2" />
</Grid>
<StackPanel DockPanel.Dock="Bottom" VerticalAlignment="Bottom" HorizontalAlignment="Right" Orientation="Horizontal" MinHeight="20" Margin=" 0,0,10,10">
<Button Content="OK" Margin="0,0,10,0" Width="75" IsDefault="True"/>
<Button Content="Cancel" Width="75" IsCancel="True" />
</StackPanel>
</DockPanel>
Так что я по-прежнему возникают проблемы ...
Привет, спасибо, что ответили. Проблема заключается в том, как указать высоту изменения размера NO для всех строк, за исключением определенного. * поддерживается только для определения столбцов и определения строки, так как вы можете получить поперечное сечение? 2-й ряд, 2-й столб, чтобы действовать именно так. Как показано в примере, нижние кнопки не приклеиваются к нижней части, а последняя строка, последний столбец не изменяется. замена авто на «*» не помогает. – appWoW
Я пересмотрел пример кода выше ... но все еще имею проблемы. – appWoW
Hi appWow. Я немного потерял то, что вы пытаетесь сделать здесь. Указание изменения размера NO, кроме одного, означает, что одна строка и только одна строка имеют Height = "*". Это отличается от калибровки отдельных ячеек в сетке - лучший способ сделать это - вложить одну сетку внутри другой и использовать размер звезды на этой ячейке (2-я строка, 2-й пол.) Ширина = «*». HTH – Berryl