2016-05-07 5 views
1

私はXamlでListviewを持っており、MVTを使用してModelTabにItemTappedイベントをバインドする必要があります。XamlリストビューItemTappedバインディングMVVM

My ListViewは次のようになります。

<ListView x:Name="list" 
    ItemsSource="{Binding employeeList}" 
    ItemTapped= {Binding selectedItem} > 
    <ListView.ItemTemplate> 
    <DataTemplate> 
    <ViewCell> 
    <ViewCell.View> 


    </ViewCell.View> 
    </ViewCell> 
    </DataTemplate> 
    </ListView.ItemTemplate> 
    </ListView> 

答えて

1

ItemTapped * MVVMに、通常ICommandに対応するイベントです。あなたのXAMLのスニペットで試みたバインディングステートメントから判断すると、通常のデータプロパティにバインドすることを意図している場合、それはバインドを行うには、より理にかなってListViewSelectedItemプロパティ代わり:

<ListView x:Name="list" 
    ItemsSource="{Binding EmployeeList}" 
    SelectedItem="{Binding SelectedItem}"> 
    ..... 
</ListView> 

関連データが存在する場合

private ItemModel _selectedItem; 
public ItemModel SelectedItem 
{ 
    get { return _selectedItem; } 
    set 
    { 
     if(_selectedItem != value) 
     { 
      _selectedItem = value; 
      OnPropertyChanged(); 

      //this can be placed before or after propertychanged notification raised, 
      //depending on the situation 
      DoSomeDataOperation(); 
     } 
    } 
} 

*)Xamarinブログ:Turn Events into Commands with Behaviors

発生 ItemTappedイベント時に撮影する必要がある、それは代わりに SelectedItemプロパティに実装されるかもしれないアクションは、(上記の結合XAMLのように)の結合を介して誘発された変更しました
関連する問題