2013-08-06 56 views
0

我有一列我希望顯示的複選框旁邊的名稱。當CheckBoxElement(person)被選中或取消選中時,我需要處理事件。確定哪個Monotouch.Dialog複選框被選中/取消選中

 List<CheckboxElement> cbPersonElements = new List<CheckboxElement>(); 
     CheckboxElement tmpCheckbox = new CheckboxElement (""); 
     foreach (ABPerson itemPerson in _people) { 
      tmpCheckbox = new CheckboxElement (itemPerson.LastName); 
      cbPersonElements.Add(tmpCheckbox); 
     } 

然後我添加列表,當我創建了rootElement的:

 RootElement _rootElement = new RootElement ("People List"){ 
      new Section ("People"){ 
       cbPersonElements 
     } 

我應該如何添加一個處理程序,將允許我檢測到CheckBoxElement被點擊了。

我無法附加一個tmpCheckbox,該值隨循環中的每次迭代而改變。
似乎它應該很簡單,但我看不到它。 謝謝。

回答

1

,你應該能夠使用一個處理器的ValueChanged

foreach (ABPerson itemPerson in _people) { 
    tmpCheckbox = new CheckboxElement (itemPerson.LastName); 
    tmpCheckbox.ValueChanged += delegate { 
    // do something here based on tmpCheckbox.Value 
    }; 
    cbPersonElements.Add(tmpCheckbox); 
} 
+0

看起來可能的ValueChanged已經貶值。或者,我是否需要將CheckboxElement轉換爲其他內容。因爲,編譯器報告「類型Monotouh.Dialog.CheckboxElement不包含'ValueChanged'的定義,也沒有擴展方法...」 –

+0

對不起 - 看起來像Bool&Entry元素有它,但沒有複選框。你最好的選擇可能是創建一個實現它的自定義Checkbox元素,並且用Xamarin提交一個錯誤來糾正這個錯誤。 – Jason

相關問題