Переключение со статическим аргументом (c #, WPF) - PullRequest
0 голосов
/ 13 мая 2018

Я работаю над приложением, которое содержит 2 страницы (главная страница, страница сведений)

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

Я объявил статическую переменную и получил к ней доступ с главной страницы

    private void NavigateToDetails(int ButtonNumber)
    {
        _regionManager.RequestNavigate("ContentRegion", "DetailsPage");
        DetailsPageViewModel.CurrentPage = ButtonNumber;
    }

- On Detail page :

    private static int _currentPage;
    public static int CurrentPage
    {
        get { return _currentPage; }
        set
        {
            _currentPage = value;
                OnStaticPropertyChanged("CurrentPage");
        }
    }

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

    private void ValuesRefreshed(object sender, EventArgs e)
    {

        switch (_currentPage)
        {
            case 1:
                Name = ModelDb1.Name
                break;
            case 2:
                Name = ModelDb2.Name
                break;
            default:
                Name = "not found"
                break;
        }
    }

Решено

Обновление Я только что понял, что вызываю страницу перед изменениемстатический, так что все, что мне нужно было переписать NavigateToDetails в

DetailsPageViewModel.CurrentPage = ButtonNumber;            
_regionManager.RequestNavigate("ContentRegion", "DetailsPage");

1 Ответ

0 голосов
/ 13 мая 2018

Не используйте статические вещи, если вы не должны. Введите сервис (зарегистрированный как singleton) и сохраните там свою информацию.

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