Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
wpf布局帮助_Wpf_Xaml - Fatal编程技术网

wpf布局帮助

wpf布局帮助,wpf,xaml,Wpf,Xaml,我有以下驻留在wpf用户控件中的xaml- <Grid> <Grid.RowDefinitions> <RowDefinition Height="30" /> <RowDefinition Height="*" /> <RowDefinition Height="30" /> </Grid.RowDefinitions

我有以下驻留在wpf用户控件中的xaml-

<Grid>    
        <Grid.RowDefinitions>
            <RowDefinition Height="30" />
            <RowDefinition Height="*" />
            <RowDefinition Height="30" />
        </Grid.RowDefinitions>

        <TextBox 
            x:Name="MyTxt"
            TextWrapping="WrapWithOverflow" 
            Grid.Row="0"  
            />

        <ListView                 
            x:Name="MyList"
            ItemsSource="{Binding}"
            Grid.Row="1"
            />

        <Label
            Grid.Row="2"
            />
    </Grid>
此控件嵌套在视图的网格中。我希望文本框在网格顶部有一个设定的高度,底部的标签在网格底部显示为一个固定的高度。我希望列表视图填充屏幕区域的其余部分

我遇到的问题是listview的大小不正确。如果我有太多的记录显示在它,它超出了窗口,没有滚动条可向下滚动。因此,如果数据延伸到屏幕右侧,我就无法到达底部查看垂直滚动条

我能够将listview设置为一个固定的高度,这很有效,但我希望它更具动态性,如果可能的话,可以随窗口调整大小

有没有人有什么建议可以让你的尺码正确

谢谢你的想法

编辑-这是主窗口视图中包含网格的xaml。这是根据乔希·史密斯的文章改编的

我确实设置了scrollviewer属性,如下所述。 下面是工作区的数据模板

<DataTemplate x:Key="WorkspacesTemplate">
        <TabControl 
      IsSynchronizedWithCurrentItem="True" 
      ItemsSource="{Binding}" 
      ItemTemplate="{StaticResource ClosableTabItemTemplate}"
      Margin="4"
      />
    </DataTemplate>

您可以将这些属性添加到listview吗

ScrollViewer.CanContentScroll = "True" 
ScrollViewer.VerticalScrollBarVisibility="Visible" <!-- or "Auto"   -->
我觉得其他一切都很好。你有3行,其中2行是绝对的,另一行是拉伸。第二行还有listview,因此它应该会随之延伸

如果不起作用,请尝试在scrollviewer中包装ListView

<ScrollViewer>
    <ListView/>
</ScrollViewer>

默认情况下,列表框的垂直对齐方式是什么?您可能需要将垂直对齐设置为“拉伸”

<ListView                 
        x:Name="MyList"
        ItemsSource="{Binding}"
        Grid.Row="1"
        VerticalAlignment="Stretch"
        />    

我能让它工作。如果我将主窗口中的包含网格更改为使用ContentControl而不是HeaderedcontentControl,它将按预期工作


谢谢您的帮助。

您是否也可以发布包含您的用户控件的网格?
<ListView                 
        x:Name="MyList"
        ItemsSource="{Binding}"
        Grid.Row="1"
        VerticalAlignment="Stretch"
        />