2016-10-06 18 views
0

RadioButton個のオブジェクト(すべて選択されていない)が2つあり、そのうちの1つを選択したとします。wpf RadioButton - 初回選択時

だから私が知りたいのは、 RadioButtonが選択されているかどうかを判断する方法C#でこれを達成するにはどうすればよいですか?

+1

バインディングまたはチェックされたイベントを使用します。 –

+0

[this](http://stackoverflow.com/a/1797955/6170142)をご覧ください。すべてのラジオボタンが選択されていない場合はnullを返します。 nullの場合は、それらのラジオボタンのどれも選択しませんでした。 –

+0

ありがとう、正しい方向への鍵である@ krw12572があります。 – Michael1248

答えて

1

ラジオボタンが次のようにチェックされているかどうかを確認してください。

var checkedButton = container.Controls.OfType<RadioButton>().FirstOrDefault(r => r.Checked); 

checkedButtonもしあなたがこれらのラジオボタンのいずれかを選択したことがありませんを意味し、その後ヌルまま。

wpfでは、次のようにしてください。

var checkedButton = container.Children.OfType<RadioButton>().FirstOrDefault(r => (bool)r.IsChecked); 

詳細については、thisを参照してください。

+0

CheckedEventの外でそれを呼び出すと問題ありません。 CheckedEventの内部で呼び出すと、[間違った]結果(実際の結果ですが、意図したものではありません)がスローされます。 – Michael1248

+0

さて、あなたはそれをPage showイベントで呼び出し、その結果をいくつかのフィールドに格納することができます。次に、CheckedEventのそのフィールドにアクセスできます。 –

+0

私は親のTagPropertyに値を保存する瞬間に、それをフィールドに格納することも解決策になります。 – Michael1248

関連する問題