在我的代码中:
<Grid x:Name="LayoutRoot" Background="Black">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid Name="Panel" Grid.Row="0" Grid.Column="0" Height="100" Width="*" HorizontalAlignment="Left" VerticalAlignment="Top">
</Grid>
</Grid>
我希望内部网格填满整个屏幕宽度。所以我想放*
会这样做。但它说它的格式不正确。
如何设置内部网格以填充宽度?
答案 0 :(得分:1)
Width
属性属于double
类型,不接受类型GridLength
的值。因此,您将得到一个例外,说“'*'字符串无法转换为长度。”
另外,您不应该设置HorizontalAlignment="Left"
。如果您希望拉伸控件的宽度,请将其设置为HorizontalAlignment="Stretch"
。
如果设置HorizontalAlignment="Left"
,则元素将与父元素的已分配布局空间的左侧对齐。
您可以在here获取更多有用信息。我建议你仔细阅读,以便更好地了解如何在UI上以更好的方式安排/安排控制。
<Grid Name="Panel" Grid.Row="0" Grid.Column="0" Height="100" HorizontalAlignment="Stretch" VerticalAlignment="Top" />
答案 1 :(得分:0)
只需将网格的 HorizontalAlignment 属性设置为像这样拉伸...并删除width属性..
<Grid Name="Panel" Grid.Row="0" Grid.Column="0" Height="100" HorizontalAlignment="Stretch" VerticalAlignment="Top">
</Grid>
希望它能解决你的问题..