控制对齐

时间:2012-03-07 08:49:23

标签: wpf listview wpf-controls

有一个带有两个控件listview和lisbox的wpf窗口(总是显示在窗口的高度)。

 <Grid >            
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition Width="230"/>
        </Grid.ColumnDefinitions>

        <Grid Grid.Column="0">                
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
            </Grid.RowDefinitions>

            <local:LeftSideListView Grid.Row="0"/>
        </Grid>

        <local:RightSideiveView Grid.Column="1"/>           

    </Grid>

这里我希望listview高度自动 - 我保持<RowDefinition Height="Auto"/> 但是当listview必须显示许多项目时,它只会显示少数项被截断。

如何以高度自动显示列表视图,如果有更多项目(&gt;窗口大小),则同时显示 - 显示滚动查看器。

2 个答案:

答案 0 :(得分:0)

您需要做的是在LeftSideListView MaxHeight和“LayoutRoot”网格之间设置绑定。

 <Grid x:Name="LayoutRoot">            
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition Width="230"/>
    </Grid.ColumnDefinitions>

    <Grid Grid.Column="0">                
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>

        <local:LeftSideListView MaxHeight="{Binding ElementName=LayoutRoot, Path=ActualHeight}" Grid.Row="0"/>
    </Grid>

    <local:RightSideiveView Grid.Column="1"/>           

</Grid>

如果LeftSideListView高度将大于LayoutRoot高度,则其高度将更改为MaxHeight值,并且将显示verticalscrollbar。

答案 1 :(得分:0)

以下是我想要的......

<DockPanel Grid.Column="0" HorizontalAlignment="Stretch">
            <local:UC_FvExplorer VerticalAlignment="Top"/>
        </DockPanel>