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になっています。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です