如何使用 Linq 在 ItemsControl.Items 中查找正确的项目
我定义了一些 ItemsControl 并向 ItemsControl.Items 添加了 12 个 RadioButton。 单选按钮之一被选中。 我想找到选中的单选按钮的上下文。
我写的代码(并且不能很好地工作)
string str = ( from t1 in itemsControl.Items.OfType<RadioButton>()
where t1.IsChecked == true
select t1.Content).ToString();
我的错误是什么? 我怎样才能以其他方式做到这一点(我不想使用 for / foreach 循环)
谢谢。
I define some ItemsControl and added to the ItemsControl.Items a 12 RadioButtons.
One of the RadioButton is Checked.
And i want to find the context of the Checked RadioButton.
The code that i wrote ( and does not work well )
string str = ( from t1 in itemsControl.Items.OfType<RadioButton>()
where t1.IsChecked == true
select t1.Content).ToString();
What is my mistake ?
How can i do it in other way ( i dont want to use for / foreach loop )
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您当前的结果是一个
IEnumerable
另外,
t1.IsChecked
已经是布尔值,无需将其与true
进行比较。Your result currently is an
IEnumerable<object>
that has one element (the content of the one checked radio button) - but you just need this one element itself, for that you can useSingle()
:Also
t1.IsChecked
is already boolean, no need to compare it withtrue
.