1

このコードを使用して、チェックボックス グループを MonoTouch テーブルに配置し、チェックされた項目に基づいて値を更新しています。

var applescheck = new CheckboxElement ("Apples", false, "purchase");
var orangescheck = new CheckboxElement ("Oranges", false, "purchase");


var Purchases = new Section () {

    applescheck,
    orangescheck


};

applescheck.Tapped += () => {


    orangescheck.Value = false;


};

orangescheck.Tapped += () => {


    applescheck.Value = false;


};

ただし、これによりチェックボックスの項目の値が更新されますが、項目の値が false の場合、表示されるチェックボックスはそのまま残ります。それも更新する方法はありますか?

4

1 に答える 1

2

イベントを次のように変更します

applescheck.Tapped += () => {
    orangescheck.Value = false;
    orangescheck.GetActiveCell().Accessory = UITableViewCellAccessory.None;
};

orangescheck.Tapped += () => {
    applescheck.Value = false;
    applescheck.GetActiveCell().Accessory = UITableViewCellAccessory.None;
};

その理由は、CheckboxElement.Value は単なるフィールドであり、設定しても副作用がないからです。変更を加えるには、要素に関連付けられている UITableViewCell を取得し、そこに変更を適用する必要があります。

于 2013-02-15T23:48:02.720 に答える