WinformsとWPFのCheckBoxのコードの違い
CheckBoxだけに限らずコントロールのプロパティやメソッドは微妙に違っております。
Winforms
1 2 3 4 5 6 | chkMic.Enabled = true ; chkMic.Checked = false ; chkMic.Text = "Microphone" ; chkMic.Visible = true ; chkMic.Visible = false ; if (chkMic.Checked) MessageBox.Show( "Checked" ); |
WPF
1 2 3 4 5 6 7 | chkMic.IsEnabled = true ; chkMic.IsChecked = false ; chkMic.Content = "Microphone" ; chkMic.Visibility = Visibility.Visible; chkMic.Visibility = Visibility.Collapsed; chkMic.Visibility = Visibility.Hidden; if (chkMic.IsChecked.Value) MessageBox.Show( "Checked" ); |
WPFのif文でif (chkMic.IsChecked == true)にしないとエラーになったのでなぜなのかわかりませんでした「.Value」をつけると問題ないことがわかりました。
VisibleのfalseにあたるものがVisibility.CollapsedとVisibility.Hiddenとありますが見えなくする機能は同じです。前者は領域確保がなく消えます後者は領域確保されます。Winformsとレイアウトの考え方が違うのでそのようになっています。チェックボックスの文字に関してはWinformsで「.Text」で統一されているのに対してWPFの表示系のコントロールはContentになっています。