私はButton
のリストを持つWPFアプリケーションを持っています。いつでも、そのうちの1つだけがVisible
です。私はプログラムでそれを得ることができるようにしたいButton
。リストをループせずに、C#で特定のプロパティとは異なる残りのリスト項目を取得するにはどうすればよいですか?
私はforeach
ループを使用してリストを通過しようとすると、より現在のButton
が表示されているかどうかを確認しました:をループすることなく、
var buttons = ButtonsHolder.Children.OfType<Button>().ToList();
foreach(var button in buttons)
{
if(button.IsVisible)
return button;
}
は、これを行うにはよりエレガントな方法がありますリスト?
で
FirstOrDefault
メソッドを使用してのサンプルコードを書き換えることが可能であるアクティブな1つのボタンしかありませんか?あなたがそれをアクティブにすると、あなたはそれの記録を残すことができます – BugFinderそれはアイデアですが、私はプロパティで要素を見つけるという一般的な考えにもっと興味があります。どうもありがとう! – Sipo
'Return ButtonsHolder.Children.OfType