0
对不起,要求提出一个完整的n00b问题,但我试过了我能想到的一切,没有任何工作。Silverlight 3:尺寸模型/ 100%尺寸
谷歌一直没有太大的用处,所有的结果都是从古代版本的Silverlight :(
问题:
我有一个Silverlight的用户控件的布局根是一个网格。网格被限定为使得:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="30" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<MyScrollButton Grid.Column="0" Name="LeftScroller" Width="30" Height="Auto" />
<ListBox x:Name="ScrollBox" Grid.Column="1" RenderTransformOrigin="0.5, 0.5"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ItemContainerStyle="{Binding Source={StaticResource ListBoxItemStyle}}"
ItemsSource="{Binding Source={StaticResource ControlState:myItemSource}}"
Style="{Binding Source={StaticResource ListBoxStyle}}"
HorizontalAlignment="Center"
BorderThickness="0" Width="Auto" Height="796">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
<MyScrollButton Grid.Column="2" Width="30" Height="Auto"/>
当我运行这个时,LayoutRoot正确调整大小。它填充浏览器窗口。
但是,子控件没有(重新)大小。 MyScrollButton s和ListBox不获取任何高度,因此它们不可见。
我想要这些控件继承父对象的高度。它们应该是页面高度的100%。
我已经试过:
- 输入百分比的高度。无效。
- 在Blend 3的帮助下将高度绑定到LayoutRoot的高度。没有区别。
- 输入*作为高度。无效。
为了实现Flex中相同的功能的“记录”是(被,我这样做是因为这两个科技股的比较)真的很容易..
谢谢,这工作:)或者准确地说,将Height设置为Auto并将VerticalAlign设置为Stretch工作。 – 2009-07-28 13:40:55