我定义了一些 ItemsControl 并添加到 ItemsControl.Items a 12 个单选按钮中。其中一个单选按钮被选中。我想找到选中单选按钮的上下文。
我写的代码(并且效果不佳)
string str = ( from t1 in itemsControl.Items.OfType<RadioButton>()
where t1.IsChecked == true
select t1.Content).ToString();
我的错误是什么?我如何以其他方式做到这一点(我不想使用 for/foreach 循环)
谢谢。
您的结果当前是一个具有一个元素(一个选中的单选按钮的内容)的IEnumerable<object>
- 但您只需要这个元素本身,为此您可以使用Single()
:
string str = ( from t1 in itemsControl.Items.OfType<RadioButton>()
where t1.IsChecked
select t1.Content).Single().ToString();
另外t1.IsChecked
已经是布尔值,无需将其与true
进行比较。