2017-09-08 10 views
0

私は検索された単語の結果を表示するリストビューを持っています 検索結果で選択されたアイテムをどのように取得できますか?リストビューでバインドされたアイテムを選択する方法

IVEは

public ObservableCollection<Bind> xmlSearch = new ObservableCollection<Bind>(); 
ListViewResult.ItemsSource = xmlSearch; 

public Bind objItemSelected 
{ 
    get 
    { 
     return _ItemSelected; 
    } 
    set 
    { 
     if (_ItemSelected != value) 
     { 
      _ItemSelected = value; 
      OnPropertyChanged("Text"); 
     } 
    } 
} 
void OnSelection(object sender, SelectedItemChangedEventArgs e) 
{   
    Bind Result = sender as Bind ; 
    DisplayAlert("Item Selected", Bind.Text, "Ok"); 

} 

の後ろのコードでこの

<StackLayout> 
    <ListView x:Name="ListViewResult" SelectedItem="{Binding objItemSelected, Mode=TwoWay}" HasUnevenRows="True" BackgroundColor="AliceBlue" ItemSelected="OnSelection"> 
     <ListView.ItemTemplate> 
      <DataTemplate> 
       <ViewCell> 
        <ViewCell.View> 
         <Grid> 
          <Grid.ColumnDefinitions> 
           <ColumnDefinition Width="1*"/> 
           <ColumnDefinition Width="1*"/> 
          </Grid.ColumnDefinitions> 
          <Label Grid.Column="0" Text="{Binding Text}" HorizontalTextAlignment="End"></Label> 
          <Label Grid.Column="1" Text="{Binding Id}" HorizontalTextAlignment="End"></Label> 
         </Grid> 
        </ViewCell.View> 
       </ViewCell> 
      </DataTemplate> 
     </ListView.ItemTemplate> 
    </ListView> 
</StackLayout> 

public class Bind { 
    public string Text{ get; set; } 
    public string Id{ get; set; } 

} 

を試してみましたが、これは

答えて

0

Senderはイベントを生成し制御では動作しません。 e.Itemにはデータバインドされたオブジェクトが含まれます

void OnSelection(object sender, SelectedItemChangedEventArgs e) 
{   
    Bind Result = e.Item as Bind; 
    DisplayAlert("Item Selected", Bind.Text, "Ok"); 

} 
+0

この作品は本当にありがとうございます! – msd

関連する問題