我有以下XAML驻留在一个WPF用户控件 -WPF布局帮助
<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。这是从文章改编的约什 - 史密斯here
<Grid>
<Border
Style="{StaticResource MainBorderStyle}"
>
<HeaderedContentControl
Content="{Binding Path=Workspaces}"
ContentTemplate="{StaticResource WorkspacesTemplate}"
/>
</Border>
</Grid>
我有在下面的一些答案提到设置的ScrollViewer属性。 下面是DataTemplate中工作区
<DataTemplate x:Key="WorkspacesTemplate">
<TabControl
IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding}"
ItemTemplate="{StaticResource ClosableTabItemTemplate}"
Margin="4"
/>
</DataTemplate>
你还可以发布包含你的UserControl的网格吗? –