LongListSelector.SelectedItem无法强制转换为我的对象类

时间:2013-07-26 13:39:34

标签: c# sqlite windows-phone-8 windows-phone longlistselector

我有一个LongListSelector,用List填充,其中包含来自SQLite数据库的对象:

 protected override async void OnNavigatedTo(NavigationEventArgs e)
{
  SQLiteAsyncConnection conn = new SQLiteAsyncConnection(DB_PATH);
  var query = conn.Table<Prasanja>().Where(x => x.id == 3);
  var result = await query.ToListAsync();
  foreach (var item in result)
  {
       var query1 = conn.Table<Odgovori>()
       .Where(y => y.Prasanja_id == item.id);

        txtPrasanje.Text = item.Tekst;
        var resultOdgovori = await query1.ToListAsync();

         foreach (var itemOdgovor in resultOdgovori)
        {
            Lista.Add(itemOdgovor.Odgovor.ToString());
            lstOdgovori.ItemsSource = Lista;
        }
   }

我想要的是当点击其中一个LongListSelector项时,我获取了特定对象,并且能够使用该对象属性。这是我的代码:

   private void lstOdgovori_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
   LongListSelector selector = sender as LongListSelector;
    if (selector == null)
        return;

   Odgovori odg = selector.SelectedItem as Odgovori;
     if (odg == null)
       return;

  if(odg.Tocno==null)
   MessageBox.Show("Try again");
    else MessageBox.Show("True!!!");
}

这里的问题是我在Odgovori类中的对象odg在执行此代码后返回null。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您正在向string添加Lista,这就是您的广告投放失败的原因。如果您已在ToString()课程中覆盖了Odgovori方法,我相信LongListSelector如果您只是将Odgovori对象添加到Lista <,则会调用该方法/ p>