2009-11-18 71 views
0

我已經開始了一個新項目(重構一些代碼),只是不能解決爲什麼我總是收到「無法找到頁面/索引」錯誤。該代碼工作正常,直到我使用add方法(在任何集合類型上)。所以我不認爲導航存在問題,但是我的IndexViewModel類存在問題。Silverlight不能找到頁面錯誤

public partial class指數:第 私有IndexViewModel _vm;

public Index() 
    { 
     InitializeComponent(); 
     _vm = new IndexViewModel(); 

...

public class IndexViewModel //: ViewModelBase 
    {           
     public SortableCollectionView Rows {get;set;}   

     public IndexViewModel() 
     { 
      // generate some dummy data 
      Random rand = new Random(); 
      for (int i = 0; i < 200; i++) 
      { 
       Row row = new Row(); 
       row["stuff"] = s_names[rand.Next(s_names.Length)]; 

       **Rows.Add(row);** 

      } 
     } 

回答

0

看起來你從來沒有新的你行變量。

Rows = new SortableCollectionView(); 

爲了讓你可以使用這一招從我的答案抄上another question實際的錯誤:

要看看是什麼問題,你需要做一個改變你MainPage.xaml.cs中:

// If an error occurs during navigation, show an error window 
private void ContentFrame_NavigationFailed(object sender, NavigationFailedEventArgs e) 
{ 
    Exception ex = e.Exception; 

    while (ex.InnerException != null) 
    { 
     ex = ex.InnerException; 
    } 

    e.Handled = true; 
    ChildWindow errorWin = new ErrorWindow(ex); 
    errorWin.Show(); 
} 

一旦在啓動應用程序時進行了更改,應該會看到異常,而不是發生異常的頁面。

+0

大聲笑,男人什麼菜! 是的問題解決了,我花了整整一個早上盯着我的代碼。顯然需要更多的睡眠。 – 2009-11-18 00:56:10

0

你需要

Rows = new SortableCollectionView(); 

地方在你的代碼。