我正在尝试使用Grid.columndefinition属性在Grid中添加项目。除了最后一个元素(在这里是AutoSuggestBox)没有占用所有可用空间之外,一切都运行良好。 这是我的代码
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Button x:Name="MainMenuBtn" FontFamily="Segoe MDL2 Assets" Content="" Grid.Column="0"/>
<Button x:Name="BackBtn" FontFamily="Segoe MDL2 Assets" Content="" Grid.Column="1"/>
<Button x:Name="ForwardBtn" FontFamily="Segoe MDL2 Assets" Content="" Grid.Column="2"/>
<Button x:Name="StopRefreshBtn" FontFamily="Segoe MDL2 Assets" Content="" Grid.Column="3"/>
<AutoSuggestBox x:Name="URLtb" FontFamily="Calibri" HorizontalContentAlignment="Stretch"
PlaceholderText="Search or type URL" QueryIcon="Find"
Grid.Column="4"/>
</Grid>
为了简单起见,有一个与AutoSuggestBox和Flyout菜单相关联的样式属性,带有第一个按钮,我没有在这里包含它。
我尝试使用stackpanel和relativepanel,但它们都没有按预期工作。一个小的谷歌搜索面纱在wpf的dockpanel中有lastchildfill属性,在uwp中是否也有类似的东西?
答案 0 :(得分:1)
您的所有列宽定义都是错误的。前四个应设置为Auto
,最后一个*
。
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>