2011-12-02 45 views
0

我在這裏有一個快速問題。任何人都可以幫我解決這個問題。如何從wp7中的Mainpage.xaml.cs調用App.xaml.cs中的方法

我是新手windows phone。我正在開發一個應用程序,我可以爲整個應用程序更改我的字體樣式。我有三個不同的資源文件來設置三種不同類型的字體樣式。資源文件設置爲App.xaml.cs文件中的應用程序。現在我需要支持從Application Changestyles頁面更改Application運行時中的樣式。所以我需要從changestyles.xaml.cs頁面調用app.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; 
} 

我需要調用此方法在運行時將其他資源設置爲我的應用程序。

可以解決這個問題嗎?

回答

1

使此方法爲公共靜態,您可以從任何地方調用它:App.LoadResourceDictionary();

0

這是一個通用的如何基於我編寫的應用程序所需的代碼。我知道的情況略有不同,但它可以幫助別人誰是類似的解決方案後:

在MainPage.xaml中創建的方法如下:

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

現在App.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(); 

測試,效果很好。希望能幫助到你!