Как я могу вызвать метод в App.xaml.cs из Mainpage.xaml.cs в wp7 - PullRequest
0 голосов
/ 02 декабря 2011

У меня тут быстрый вопрос. Может кто-нибудь, пожалуйста, помогите мне разобраться с этой проблемой.

Я новичок в Windows Phone. Я разрабатываю приложение, в котором я могу изменить стили шрифта для всего приложения. У меня есть три разных файла ресурсов для установки трех разных типов шрифтов. Файл ресурса настроен на применение в файле App.xaml.cs. Теперь мне нужна поддержка для изменения стилей во время выполнения приложения со страницы изменений приложения. Поэтому мне нужно вызвать метод в app.xaml.cs со страницы changestyles.xaml.cs.

private void LoadResourceDictionary()
{

    var dictionaries = new ResourceDictionary();

    string source = String.Format("/Testapp;component/Large.xaml");
    var themeStyles = new ResourceDictionary { Source = new Uri(source, UriKind.Relative) };
    dictionaries.MergedDictionaries.Add(themeStyles);

    App.Current.Resources = dictionaries;

    ResourceDictionary appResources = App.Current.Resources;
}

Мне нужно вызвать этот метод, чтобы установить другой ресурс для моего приложения во время выполнения.

Возможно ли решить эту проблему?

Ответы [ 2 ]

1 голос
/ 02 декабря 2011

Сделайте этот метод общедоступным статическим, и вы можете вызывать его из любого места: App.LoadResourceDictionary ();

0 голосов
/ 09 октября 2013

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

В MainPage.xaml вы создаете метод следующим образом:

public static void InMainPage()
{
    System.Diagnostics.Debug.WriteLine("Hi I am a method in MainPage.xaml.cs");
}

Теперь в приложении.xaml.cs вы можете вызывать его любым способом, как этот:

MainPage.InMainPage();

, и он работает для вас в обратном направлении

В App.xaml.cs вы создаете метод какследует:

public static void InAppXaml()
{
    System.Diagnostics.Debug.WriteLine("Hi I am a method in App.xaml.cs");
}

Теперь в Mainpage.xaml.cs вы можете вызывать его любым способом как таковым:

App.InAppXaml();

Протестировано и хорошо работает.Надеюсь, это поможет!

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