You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MAUI动态测试设计器中按问题分组RadioButton

解决RadioButton按单个Question分组的问题

问题出在你把RadioButtonGroup.GroupName设到了LinearItemsLayout上——这个布局是整个CollectionView的容器,所有Question的RadioButton都会继承同一个GroupName,自然没法按单个Question分组。正确的做法是给每个Question绑定独立的GroupName,具体步骤如下:

  • 第一步:给你的Question模型添加唯一标识属性,用Guid保证唯一性:

    public class Question
    {
        public Guid QuestionId { get; set; } = Guid.NewGuid();
        // 其他属性:QuestionText、Options集合、QuestionType等
    }
    
  • 第二步:修改页面级的DataTemplate,把RadioButton的GroupName绑定到当前Question的QuestionId,而不是布局容器:

    <DataTemplate x:Key="RadioOptionTemplate" x:DataType="models:Option">
        <RadioButton 
            Content="{Binding OptionText}" 
            IsChecked="{Binding IsSelected}"
            RadioButtonGroup.GroupName="{Binding Source={RelativeSource AncestorType={x:Type models:Question}}, Path=QuestionId}" />
    </DataTemplate>
    
  • 第三步:移除之前在LinearItemsLayout上设置的RadioButtonGroup.GroupName,避免全局分组覆盖。

原理很直接:每个Question有自己唯一的QuestionId,绑定后该Question下的所有RadioButton都会共享这个GroupName,实现单个Question内的单选逻辑,不同Question之间的RadioButton因为GroupName不同,互不干扰。

测试验证:现在每个Question里选RadioButton时,只会在当前Question内互斥,不同Question的选项可以同时选中,这就是你需要的效果。

内容的提问来源于stack exchange,提问作者Kowari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 03:14:54