Silverlight无法找到页面错误

时间:2009-11-18 00:12:45

标签: silverlight navigation

我已经开始了一个新项目(重构一些代码),并且无法解决为什么我一直收到“无法找到页面/索引”错误。代码工作正常,直到我使用添加方法(在任何集合类型上)。所以我认为导航没有问题,但是我的IndexViewModel类存在问题。

公共部分类索引:Page     {         私有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);**

            }
        }

2 个答案:

答案 0 :(得分:0)

看起来你永远不会新建你的Rows变量。

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();
}

在启动应用程序时进行了更改后,您应该看到异常,而不是发生异常的页面。

答案 1 :(得分:0)

你需要

Rows = new SortableCollectionView();

代码中的某处。