【问题标题】:Listbox ScrollIntoView problem wpf列表框ScrollIntoView问题wpf
【发布时间】:2010-07-22 04:20:04
【问题描述】:

我正在使用 dataview 类型的 itemsource 创建一个列表框。我想将列表框滚动到未选中的特定项目。我正在为选定的项目使用以下代码。

代码:

绑定列表框:

DataView dv = newDt.DefaultView;
            dv.Sort = "Count Desc";
            lbResult.DataContext = dv;

根据id获取行:

 var selectResult = from mypro in albumDetails.ToTable().AsEnumerable() where mypro.Field<string>("ID")==search.ID  select mypro;

            if (lbResult.SelectedItem != null)
            {
                lbResult.ScrollIntoView(**lbResult.Items[0]**);
            }

如果列表框中的行,如何获取索引。

吉萨

【问题讨论】:

  • 实际上 lbTrack.SelectedItem 是该列表项的视图模型数据上下文对象。您可以提供任何集合项目,而不是 SelectedItem 将显示。
  • 我也在尝试。但是如何获得该项目。我正在使用以下代码来获取特定行。 var selectResult = from myRow in details.ToTable().AsEnumerable() where myRow .Field("ID")==search.ID select myRow; lbResult.Items.IndexOf(selectResult.ElementAt(0));但它给出了 -1 索引。
  • 如何在列表框中找到selectResult行的索引?

标签: wpf listbox


【解决方案1】:

我不知道albumDetails 对象是什么。这是从 DataView 获取索引的代码。

 DataRow row = dataview.Select("ID='" + search.ID + "'")[0];
 int i= dataview.Rows.IndexOf(row); 

【讨论】:

  • 嗬,我仍然得到 -1 索引
  • 您是否获得了正确的行值?什么是 albumDetails 对象?
  • 您应该使用相同的数据视图来选择行和查找索引。
猜你喜欢
  • 1970-01-01
  • 2010-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-16
  • 1970-01-01
  • 1970-01-01
  • 2020-12-11
相关资源
最近更新 更多