Nano Hash - криптовалюты, майнинг, программирование

Xamarin.Forms: не удалось перейти на страницу

Я использую свое первое приложение, использующее Xamarin, и у меня возникают трудности с навигацией по страницам. Исследовал в разных местах и ​​добился успеха, когда впервые использовал навигацию.

Но когда я добавил кнопку, вызывается построитель страниц, по которому нужно перемещаться, но не открывается ни одна страница. Когда я нажимаю кнопку, с которой я когда-либо работал (список в соответствии с распечаткой ниже), она идет, но я замечаю, что нажатие аппаратной кнопки Windows Phone на устройстве нажимает первую ошибку, т.е. это должна быть другая страница в стеке. Не знаю как решить, так как в этом вторая кнопка работает отлично а вот первую не могу решить и не найти в чем может быть проблема.

Используйте проект Windows Phone для тестирования и использования сообщества Visual Studio 2015.

Скриншот кнопок:

введите здесь описание изображения

MainViewModel.cs, где находится команда настройки отрисовки навигации по нажатию на кнопки:

private readonly INavigationService _navigationService;

public MainViewModel()
{
        RescisaoCommand = new Command(NavigateToRescisao);
        FGTSCommand = new Command(NavigateToFGTS);

        _navigationService = DependencyService.Get<INavigationService>();
}

private async void NavigateToRescisao()
{
        await _navigationService.NavigateToRescisao();
}

private async void NavigateToFGTS()
{
        await _navigationService.NavigateToFGTS();
}

Конструктор App.cs:

public App()
{
     DependencyService.Register<IMessageService, MessageService>();
     DependencyService.Register<INavigationService, NavigationService>();

     // The root page of your application
     MainPage = new NavigationPage(new MainView());
}

Интерфейс INavigationService.cs:

public interface INavigationService
{
    Task NavigateToRescisao();
    Task NavigateToFGTS();
}

NavigationService.cs:

public class NavigationService : INavigationService
{
    public async Task NavigateToRescisao()
    {
        await App.Current.MainPage.Navigation.PushAsync(new RescisaoView());
    }

    public async Task NavigateToFGTS()
    {
        await App.Current.MainPage.Navigation.PushAsync(new FGTSView());
    }
}

Конструктор FGTSViewModel.cs (работает):

public FGTSViewModel()
{
     CalculateFgtsCommand = new Command(x => { ShowResult(); });

     _messageService = DependencyService.Get<IMessageService>();
     //_navigationService = DependencyService.Get<INavigationService>();
}

Конструктор RescisaoViewModel.cs (не работает):

 public RescisaoViewModel()
 {
       Reasons = new List<string>();
       TypesOfNotice = new List<string>();

       Reasons.Add("Pedido de demissão");
       Reasons.Add("Justa causa");
       Reasons.Add("Sem justa causa");
       Reasons.Add("Término de contrato de experiência");

       TypesOfNotice.Add("Trabalhado");
       TypesOfNotice.Add("Indenizado");

       //_navigationService = DependencyService.Get<INavigationService>();
 }

Ответы:


1

Ему удалось решить проблему. Я проверил свои привязки, и они были неполными именами.

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

03.01.2016
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..