作成日: 2017/09/15 最終更新日: 2017/09/15
文書種別
使用方法
詳細
Studio for XamarinのCoreライブラリに含まれるC1CheckBoxを利用すると、ブール値の入出力に利用できるチェックボックスを表示できます。C1CheckBoxは、チェックボックス本体の色や大きさなどを変更できます。
また、チェックボックスの値はタップしてONとOFFを切り替えます。チェックボックスの脇に表示したラベルでタッチジェスチャーを認識して、チェックボックスの値を変更する処理を設定すれば、文字列をタッチした場合でもチェックボックスの値を変更することができます。
サンプルコード
C#(Xamarin.Forms)
Studio for Xamarin > 製品ヘルプ > CheckBox
また、チェックボックスの値はタップしてONとOFFを切り替えます。チェックボックスの脇に表示したラベルでタッチジェスチャーを認識して、チェックボックスの値を変更する処理を設定すれば、文字列をタッチした場合でもチェックボックスの値を変更することができます。
サンプルコード
C#(Xamarin.Forms)
public class C1XamarinPage1 : ContentPage
{
public C1XamarinPage1()
{
// ON時のラベルのスタイル
var styleOn = new Style(typeof(Label))
{ Setters = { new Setter { Property = Label.TextColorProperty, Value = Color.Red } } };
// OFF時のラベルのスタイル
var styleOff = new Style(typeof(Label))
{ Setters = { new Setter { Property = Label.TextColorProperty, Value = Color.Green } } };
// チェックボックスの脇に表示するラベルの定義
Label labelCap = new Label { Text = "ONの状態", Margin = new Thickness(0, 20, 0, 0) };
// チェックボックスを定義
C1.Xamarin.Forms.Core.C1CheckBox checkbox = new C1.Xamarin.Forms.Core.C1CheckBox
{
IsChecked = true, // 初期設定はOn
BackgroundColor = Color.Blue, //背景色設定
Margin = new Thickness(20, 20, 20, 20), // マージン設定
};
// チェックボックスの値が変更された場合の処理
checkbox.Checked += (object sender, EventArgs e) =>
{
// チェックボックスの値の変更時にラベルの文字列を変更
labelCap.Text = (checkbox.IsChecked) ? "ONの状態" : "OFFの状態";
// 表示する文字列のスタイルを切り替える
labelCap.Style = (checkbox.IsChecked) ? styleOn : styleOff;
};
// ラベルがタップ操作を認識するように設定
var tgr = new TapGestureRecognizer();
labelCap.GestureRecognizers.Add(tgr);
// ラベルをタップした場合の処理
tgr.Tapped += (object sender, EventArgs e) =>
{
// チェックボックスの値を切り替える
checkbox.IsChecked = (checkbox.IsChecked) ? false : true;
};
// スタックレイアウトで配置
Content = new StackLayout
{
VerticalOptions = LayoutOptions.Center,
Children = {
new StackLayout
{
Orientation = StackOrientation.Horizontal,
HorizontalOptions = LayoutOptions.Start,
VerticalOptions = LayoutOptions.CenterAndExpand,
Children = {checkbox, labelCap },
},
},
};
}
}
Studio for Xamarin > 製品ヘルプ > CheckBox
旧文書番号
82361