我定义了一些ItemsControl并添加到ItemsControl.Items中,一个12个RadioButtons。 其中一个RadioButton是Checked。 我想找到Checked RadioButton的背景。
我写的代码(并且运行不正常)
string str = ( from t1 in itemsControl.Items.OfType<RadioButton>()
where t1.IsChecked == true
select t1.Content).ToString();
我的错误是什么? 我怎么能以其他方式做到这一点(我不想用于/ foreach循环)
感谢。
答案 0 :(得分:2)
您的结果当前是IEnumerable<object>
,其中包含一个元素(已选中一个单选按钮的内容) - 但您只需要这一个元素,因为您可以使用Single()
:
string str = ( from t1 in itemsControl.Items.OfType<RadioButton>()
where t1.IsChecked
select t1.Content).Single().ToString();
同样t1.IsChecked
已经是布尔值,无需将其与true
进行比较。