Estou tentando converter um aplicativo WPF C# para usar o WinUI 3. Esta é uma versão simplificada do meu código XAML:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Row="0" Grid.Column="0"
Orientation="Horizontal"
HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock Text="1234567890123456789012345678901234567890"/>
</StackPanel>
<StackPanel Grid.Row="1" Grid.Column="0"
Orientation="Horizontal"
HorizontalAlignment="Center" VerticalAlignment="Center">
<RadioButton GroupName="Choices" Content="Yes" />
</StackPanel>
<StackPanel Grid.Row="2" Grid.Column="0"
Orientation="Horizontal"
HorizontalAlignment="Center" VerticalAlignment="Center">
<Button Content="Prev"/>
<Button Content="Next"/>
</StackPanel>
</Grid>
No meu aplicativo WPF, este XAML centraliza o RadioButton apropriadamente:
O mesmo XAML produz este resultado no meu aplicativo WinUI 3:
Como faço para centralizar corretamente o botão de opção? No final das contas, vou adicionar dinamicamente um número variável de botões de opção ao painel de pilha, mas não consigo nem fazer funcionar para apenas um que é definido estaticamente.
Isso se deve ao
RadioButon
'sMinWidth
, que é 120 por padrão. Você pode aprender mais sobre isso no generic.xaml .Você pode atualizar diretamente o
RadioButton
'sMinWidth
:ou atualizá-lo por meio de um estilo: