XAML 如何使ComboBox填充UWP中包含它的网格线的所有空间

h9a6wy2h  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(139)

我正在将一个WPF应用程序迁移到UWP,遇到了一个设计问题。如何使组合框填充包含它的网格线的所有空间?在WPF中,我使用了下面的代码。

<Grid>
  <Grid.RowDefinitions>
    <RowDefinition Height="*"/>
  </Grid.RowDefinitions>
  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="150"/>
    <ColumnDefinition Width="*"/>
  </Grid.ColumnDefinitions>
  <TextBlock x:Uid="SpkPgTxtLanguage" Width="auto" Height="auto" Grid.Column="0" Grid.Row="0" Margin="0,0,0,0" FontSize="12" />
  <ComboBox Name="cbxDefaultLanguage" Margin="3,3,3,3" Width="auto" Height="auto" Grid.Column="1" Grid.Row="0" >
    <ComboBox.ItemTemplate>
      <DataTemplate>
        <StackPanel Orientation="Horizontal">
          <Image Source="{Binding Flag}" Width="32" Height="32" />
          <TextBlock Text="{Binding Name}" Margin="10, 0, 0, 0"  FontSize="12"/>
        </StackPanel>
      </DataTemplate>
    </ComboBox.ItemTemplate>
  </ComboBox>
</Grid>
5t7ly7z5

5t7ly7z51#

在UWP中,可以将ComboBox.HorizontalAlignment设置为Stretch,这意味着ComboBox可以水平填充剩余空间。

<ComboBox Name="cbxDefaultLanguage" Margin="3,3,3,3" HorizontalAlignment="Stretch" Grid.Column="1" Grid.Row="0" >
    ...
</ComboBox>

顺祝商祺。

相关问题