我正在努力与我的XAML!我有3行,他们并没有真正改变页面的高度,除了中间行。中间一行有一个ListBox。将scrollviewr添加到列表框
根据屏幕的大小,我希望第二行的高度随着项目被添加到列表框中而变大,除非它将第三行推出屏幕。在这种情况下,我想让列表框显示一个滚动条。我不知道我怎么能做到这一点。
我的研究显示身高我们有自动和* - 自动将基于控件大小,*将填补整个空白。我看不出这些如何适合我需要的东西...
以下是UserControl的代码。此UserControl在父项TabControl中呈现。
我的努力是
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0">
<TextBlock Text="[?] Source directory" />
</StackPanel>
<ListView ScrollViewer.VerticalScrollBarVisibility="Auto" ItemsSource="{Binding Folders}" Grid.Row="1" >
<ListBox.ItemTemplate>
<DataTemplate>
//data template code
</DataTemplate>
</ListBox.ItemTemplate>
</ListView>
<StackPanel Grid.Row="2">
<Button Content="Save" />
</StackPanel>
</Grid>
编辑
如果我设置网格上的一个高度,它的工作原理,但是,设置一个固定的高度是不是因为它不会扩展为一个选项任何决议。
http://www.codeproject.com/Articles/30904/WPF-Layouts-A-Visual-Quick-Start – 2014-09-24 17:12:19
所以你想要这两个StackPanels停靠在顶部和底部,同时允许ListView占用屏幕的整个中间部分? – estebro 2014-09-24 17:12:40
@estebro这是正确的 – MyDaftQuestions 2014-09-24 17:23:43