ViewMakerで生成するWPF/Silverlightコントロール(7)CheckBox編

今回は定番コントロールのCheckBoxです。シンプルなコントロールなので特に説明は必要ないですよね。

CheckBoxコントロール

WPF/Silverlightいずれも標準でふくまれていて、bool型にバインドします。ViewMakerで指定可能なCheckBoxの項目は以下の通りです。

    1. Content(コンテンツ)
    2. IsThreeState(3値形式)
    3. CheckedUncheckedCommand(チェックON/OFF時に実行するコマンド*1

WPFサンプルイメージとXAMLコード

<CheckBox Name="CheckBox1" IsChecked="{Binding Path=CheckBox1, Mode=TwoWay, ValidatesOnExceptions=True, 
          ValidatesOnDataErrors=True}" />

<CheckBox Name="CheckBox2" IsChecked="{Binding Path=CheckBox2, Mode=TwoWay, ValidatesOnExceptions=True, 
          ValidatesOnDataErrors=True}" Content="{Binding Path=CheckBox2Content,Mode=OneWay}" 
          IsThreeState="True" Foreground="Blue" Background="Azure" />

SilverlightサンプルイメージとXAMLコード

<CheckBox Name="CheckBox1" IsChecked="{Binding Path=CheckBox1, Mode=TwoWay, ValidatesOnExceptions=True, 
          ValidatesOnDataErrors=True}" />

<CheckBox Name="CheckBox2" IsChecked="{Binding Path=CheckBox2, Mode=TwoWay, ValidatesOnExceptions=True, 
          ValidatesOnDataErrors=True}" Content="{Binding Path=CheckBox2Content,Mode=OneWay}" 
          IsThreeState="True" Foreground="Blue" Background="Azure" />

ViewModelコード

[View(ViewControlType.StackPanel)]
[ViewProperty(StackPanelViewControl.Properties.HeaderPosition, LayoutHeaderPosition.Hidden)]
[ViewLayoutGeneratorProvider("Generate")]
public class CheckBoxSample : ViewModel
{
    [View(ViewControlType.CheckBox)]
    public bool CheckBox1 { get; set; }

    [View(ViewControlType.CheckBox)]
    [ViewProperty(CheckBoxViewControl.Properties.Content, "CheckBox2Content")]
    [ViewProperty(CheckBoxViewControl.Properties.IsThreeState, true)]
    [ViewProperty(CheckBoxViewControl.Properties.Foreground, "Blue")]
    [ViewProperty(CheckBoxViewControl.Properties.Background, "Azure")]
    public bool? CheckBox2 { get; set; }

    [Browsable(false)]
    public string CheckBox2Content { get { return "nullable"; } }
}

*1:あったほうが良さそうなので追加