public class Navigator : PhoneApplicationPage
{
private static Navigator _instance;
private static object _lock = new object();
public static Navigator Instance
{
get
{
lock (_lock)
{
if (_instance == null)
{
_instance = new Navigator();
}
return _instance;
}
}
private set
{
lock (_lock)
{
_instance = value;
}
}
}
private Navigator(){}
public bool NavigateTo(string uri)
{
lock (_lock)
{
return NavigationService.Navigate(new Uri(uri, UriKind.Relative));
}
}
}
Вызывается в классе ViewModel:
Navigator.Instance.NavigateTo("/NotePage.xaml");
Итак, я получил это, и NavigationService.Navigate (..) генерирует исключение NullReferenceException.
Как я могу это исправить / что является альтернативой? Я хочу использовать NavigationService из класса ViewModel.
Я бы предпочел решение без необходимости установки большего количества компонентов (MVVM light). Если это абсолютно невозможно, я проверю класс Messenger / Message.
EDIT
Я почти сдался. Я решил свою проблему, создав стиль для кнопки с гиперссылкой, которая может обтекать все вокруг