2010-07-22 83 views
0

我正在創建一個帶有dataview類型的itemource的列表框。我想將列表框滾動到未選中的特定項目。我爲選定的項目使用以下代碼。Listbox ScrollIntoView問題wpf

代碼:

綁定列表框:

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]**); 
      } 

如何獲得該指數如果在列表框中的行。

Geetha

+0

實際上,lbTrack.SelectedItem是該列表項的視圖模型datacontext對象。您可以提供任何收集項目而不是SelectedItem將帶來的視圖。 – Ragunathan 2010-07-22 04:27:51

+0

我正在嘗試。但如何獲得物品。我正在使用下面的代碼來獲取特定的行。 var selectResult = from myRow in details.ToTable()。AsEnumerable()where myRow .Field (「ID」)== search.ID select myRow; lbResult.Items.IndexOf(selectResult.ElementAt(0)); 但它給-1指數。 – Geeth 2010-07-22 04:33:54

+0

try lbResult.Items [0] – Ragunathan 2010-07-22 04:50:54

回答

0

我不知道什麼是albumDetails對象。這裏是從DataView獲取索引的代碼。

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

浩還沒有得到-1索引 – Geeth 2010-07-22 06:27:33

+0

你是否得到適當的行值?什麼是albumDetails對象? – Ragunathan 2010-07-22 08:02:38

+0

我正在獲取行值。 – Geeth 2010-07-22 08:43:14