给定以下XMAL为什么没有垂直滚动条用于绑定到100个字符串的ObservableCollection的ListBox。如果我改变了第二行的高度从*到一些固定的像500,然后会出现一个滚动条,但很明显,我想行高是什么都可以(这是我的理解*的意思)为什么没有此列表框的垂直滚动条
<UserControl x:Class="SimpleStack.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<UserControl.Resources>
<DataTemplate x:Key="ListBoxItemTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Text="Place holder"/><TextBlock Text="{Binding}"/>
</StackPanel>
</DataTemplate>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" Background="Azure">
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="The Text" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2"/>
<ListBox ItemsSource="{Binding ListOfNumbers}" Grid.Row="1" Grid.Column="0"
ItemTemplate="{StaticResource ListBoxItemTemplate}"/>
<TextBlock Text="Place Holder" Grid.Row="1" Grid.Column="1"/>
</Grid>
</UserControl>
它确实显示我的UserControl正在被给予无限的空间,正如你所建议的那样。 Howerver我不知道为什么会这样?插件获得100%x100%(VS测试页面的SOP) – 2010-10-18 16:18:57
是否有一种工具可以在运行时调查布局,类似于IE开发人员工具? – 2010-10-18 16:20:58
你的UserControl是应用程序的RootVisual还是包含在另一个页面中?如果它包含在另一个页面中,请检查以确保其包含的面板不是“StackPanel”,这会导致它具有无限可用大小。 – Stephan 2010-10-18 16:43:14