панель стека wpf - PullRequest
       16

панель стека wpf

1 голос
/ 09 марта 2011

Простой вопрос, у меня есть панель стека с панелью инструментов и списком, я хочу, чтобы список заполнил оставшееся пространство, но не будет.Вот что у меня на данный момент.

<Window x:Class="TestClientMainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Testing client" Height="350" Width="525"
    DataContext="{StaticResource ResourceKey=TheViewModel}" Background="#FFD4BFBF">
<Grid>
    <StackPanel HorizontalAlignment="Stretch" Name="stackPanel1" VerticalAlignment="Stretch">
        <ToolBar Height="26" Name="toolBar1" />
        <ListBox Name="listBox1" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" MinHeight="{Binding ElementName=stackPanel1, Path=Height}" Height="99" />
    </StackPanel>
</Grid>

Ответы [ 4 ]

3 голосов
/ 09 марта 2011

Попробуйте использовать DockPanel вместо StackPanel.Таким образом, вы можете установить LastChildFill в true и ваш ListBox, будучи последним содержащимся элементом, растянется, чтобы заполнить оставшееся пространство:

<DockPanel LastChildFill="True" HorizontalAlignment="Stretch" Name="dockPanel1" VerticalAlignment="Stretch">
    <ToolBar Height="26" Name="toolBar1" />
    <ListBox Name="listBox1" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" MinHeight="{Binding ElementName=stackPanel1, Path=Height}" Height="99" />
</DockPanel>
2 голосов
/ 09 марта 2011

Попробуйте использовать DockPanel, с ToolBar, закрепленным сверху или снизу, и свойством LastChildFill в DockPanel, установленным на true.

<DockPanel Name="dockPanel1" LastChildFill="True">
    <ToolBar Height="26" Name="toolBar1" DockPanel.Dock="Top"/>
    <ListBox Name="listBox1" MinHeight="{Binding ElementName=stackPanel1, Path=Height}" Height="99" />
</DockPanel>
1 голос
/ 09 марта 2011

Используйте DockPanel вместо StackPanel и установите для атрибута LastChildFill значение true.Это должно сработать.

0 голосов
/ 09 марта 2011

StackPanel не так легко убедить сделать то, что вы хотите.

Я бы вместо этого использовал Grid.

...