从列表框内容中选择单选按钮

本文关键字:选择 单选按钮 列表 | 更新日期: 2023-09-27 17:55:01

我在列表框内容中放置了一个单选按钮,并将其与QuizOption1列表绑定绑定工作良好,显示单选按钮检查,如果属性IsSelected传递为真。类定义如下:

    class QuizOption1
    {
        public int QuizID { get; set; }
        public int QuizOptionID { get; set; }
        public string Description { get; set; }
        public bool IsSelected { get; set; }
    }

当检查选中的项目时,我使用以下代码

            var lstItems = (List<QuizOption1>)lst.ItemsSource;
            var selItems = lstItems.Where(op => op.IsSelected == true).FirstOrDefault();

绑定如下:

<ListBox  Name="lst1" Grid.Row="1" >
                        <ListBox.ItemTemplate >
                            <DataTemplate >
                                <RadioButton 
                                    Foreground="#333333"
                                    Background="#ffededed" 
                                    Tag="{Binding QuizOptionID}"
                                    Content="{Binding Description}"
                                    IsEnabled="True"
                                    GroupName="{Binding QuizID}"
                                    IsChecked="{Binding Path=IsSelected}"/>
                            </DataTemplate>
                        </ListBox.ItemTemplate>
                    </ListBox>

但是selItems总是null。有人能告诉我为什么吗?

从列表框内容中选择单选按钮

答案很简单,我需要在绑定中添加Mode=TwoWay属性,绑定如下所示。不管怎样谢谢你。

IsChecked="{Binding IsSelected, Mode=TwoWay}"/>