У меня есть GridSplitter
, но я не могу заставить его растянуть всю высоту моего приложения (точнее, мой UserControl
). Он заполняет только ту же высоту, что и содержимое слева/справа от GridSplitter
.Почему мой GridSplitter не достигает полной высоты
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="*" /> <!--this was a trial and error thing-->
</Grid.RowDefinitions>
<Grid Grid.Row="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*" MinWidth="150" />
<ColumnDefinition Width="2" />
<ColumnDefinition Width="8*" MinWidth="250" />
</Grid.ColumnDefinitions>
<TextBlock Text="left" Grid.Column="0"/>
<GridSplitter Grid.Column="1" HorizontalAlignment="Stretch" />
<TextBlock Text="right" Grid.Column="2"/>
</Grid>
</Grid>
</Grid>
Как я не знаю высоту, я надеялся на
Это работает в том, что высота больше, но это не является приемлемым подходом, поскольку я не знаю размер клиенты контролируют.
Но это недействительно.
Что мне нужно сделать?
Это родительский
<StackPanel Grid.Row="1" Background="Orange">
<ContentPresenter Content="{Binding Vm}" />
</StackPanel>
Как вы можете видеть, фон оранжевый, это дает мне за пределы контроля. Управление занимает всю комнату.
Похоже, что ваша проблема, вероятно, вызвана родительским контролем этой сетки. Размер элемента управления сетки соответствует его родительскому элементу. Каким будет ваш пользовательский контроль? –