Silverlight не может найти ошибку страницы - PullRequest
0 голосов
/ 18 ноября 2009

Я запустил новый проект (для рефакторинга некоторого кода), и просто не могу понять, почему я получаю ошибку «Не удается найти страницу / индекс». Код работает нормально, пока я не использую метод add (для любого типа коллекции). Поэтому я не думаю, что есть проблема с навигацией, но проблема с моим классом IndexViewModel.

публичный частичный класс Индекс: Страница { private 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 голосов
/ 18 ноября 2009

Вам нужно

Rows = new SortableCollectionView();

где-то в вашем коде.

0 голосов
/ 18 ноября 2009

Похоже, вы никогда не обновляете переменную Rows.

Rows = new SortableCollectionView();

Чтобы получить реальную ошибку, вы можете использовать этот трюк, скопированный из моего ответа на другой вопрос :

Чтобы увидеть, в чем проблема, вам нужно внести одно изменение в свой 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();
}

После того, как вы внесли это изменение при запуске приложения, вы должны увидеть исключение вместо страницы, на которой произошло исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...