2016-12-01 110 views
0

當綁定到Xamarin Forms列表視圖的集合中的項目更改時,是否可以獲取事件? 例如,我的對象有一個綁定到ViewCell中的標籤的Date字段。我希望在更改日期時觸發一個事件。我們的對象實現INotifyPropertyChanged,以便listview更新正確。 我可以手動訂閱每個項目的OnPropertyChanged事件,但我希望他們是一個更簡單的方法。當Xamarin ListView BindingContext項目發生更改時的事件

謝謝。

回答

0

Xamarin.Forms中有觸發器。這似乎是一個事件觸發器將做你所需要的。例如:

<EventTrigger Event="TextChanged"> 
    <local:NumericValidationTriggerAction /> 
</EventTrigger> 

public class NumericValidationTriggerAction : TriggerAction<Entry> 
{ 
    protected override void Invoke (Entry entry) 
    { 
     double result; 
     bool isValid = Double.TryParse (entry.Text, out result); 
     entry.TextColor = isValid ? Color.Default : Color.Red; 
    } 
} 

您可以找到有關觸發器here

更多信息,請參閱當它被從列表視圖中選擇刪除對象這個例子。

private MyItemsViewModel _myItemsViewModel; 

private void MyItemsListView_ItemSelected(object sender, SelectedItemChangedEventArgs e) 
{ 
    MyItem item = (MyItem)e.SelectedItem; 

    if (item == null) 
     return; 

    // remove the item from the ObservableCollection 
    _myItemsViewModel.Items.Remove(item); 
} 
+0

可以在ViewCell中使用綁定的ListView嗎? – jbassking10

+0

我需要做的是從綁定集合中刪除一個項目,一旦Date具有一定的值。 – jbassking10

+0

它應該如果對象綁定正確,因爲您將有權訪問它的事件處理程序。查看編輯示例以瞭解從ListView中選擇元素的時間 –

相關問題