2017-05-04 17 views

回答

1

XAML文件:

<ListView ItemsSource="{Binding MyItems}" ItemTapped="{Binding OnItemTapped}"> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <TextCell Text="{Binding Key}" /> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListVIew> 

您綁定ItemTapped事件使用Binding自定義事件處理程序。 在代碼隱藏中,e.Item將包含輕敲項目,您可以從中抽取密鑰和值。

代碼隱藏:

public class MyPage : ContentPage 
{ 
    ... 
    private async void OnItemTapped(object sender, ItemTappedEventArgs e) 
    { 
     var tappedItem = e.Item; 
     // do something with tappedItem.Value... 
    } 
} 

編輯/注意:您將需要重寫ToString()方法,模型類,以顯示任何你想要的。您將顯示名稱空間,因爲這是在任何對象上調用ToString()的默認行爲。

+0

謝謝。我認爲這是我實現它的正確方法,但是我做了一個顯示警報來查看值並確保它是正確的,並顯示了命名空間。我使用realm並向數據庫添加值,並使用值填充listview中的每個文本單元格。 – Totally85

+0

@完全85您將需要重寫ToString()方法。看我的編輯!如果有幫助,請接受答案。歡呼 –

+0

是的。你是對的。這解決了它。非常感謝! – Totally85

0

您可以訂閱ItemTappedItemSelected ListView控件的事件,並從拉你的項目ItemTappedEventArgs.Item(在ItemTapped事件的情況下)或SelectedItemChangedEventArgs.SelectedItem(在ItemSelected事件的情況下)。官方更多信息Xamarin documentation

如果您使用MVVM方法查看EventToCommandBehavior和Converter。 Xamarin有很好的例子here

相關問題