在 .NET MAUI 应用程序中,我使用 CollectionView 来显示特定的 ItemTemplate,其中还包括 RadioButton。然而,互斥状态并未实现,因为 CollectionView 中的 Grid 不被识别为 RadioButtonGroup 的父级。
这里是视图对应的XAML:
<CollectionView ItemsSource="{Binding CurrentAnswers}"
ItemsLayout="VerticalGrid"
ItemSizingStrategy="MeasureAllItems"
VerticalScrollBarVisibility="Always"
HeightRequest="400"
RadioButtonGroup.GroupName="Answers">
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid x:DataType="models:Answer"
Padding="20">
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<RadioButton Grid.Row="0"
Grid.Column="0"
Content="{x:Binding Content}"
TextColor="{StaticResource NightBlue}"
RadioButtonGroup.GroupName="Answers"
IsVisible="true" />
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
尝试使用
GroupName
而不是 RadioButtonGroup.GroupName
并仅将其设置在 RadioButton
上(而不是在父级上)。
<RadioButton
Grid.Row="0"
Grid.Column="0"
Content="{x:Binding Content}"
TextColor="{StaticResource NightBlue}"
GroupName="Answers"
IsVisible="true" />