我在这里有一个简单的问题。任何人都可以帮我解决这个问题。
我是Windows Phone新手。我正在开发一个应用程序,我可以在其中更改整个应用程序的字体样式。我有三个不同的资源文件来设置三种不同类型的字体样式。资源文件在App.xaml.cs文件中设置为application。现在我需要支持从Application Changestyles页面更改Application run time中的样式。所以我需要从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;
}
我需要调用此方法在运行时将另一个资源设置为我的应用程序。
是否可以解决此问题?
答案 0 :(得分:1)
将此方法设为public static,您可以从任何地方调用它:App.LoadResourceDictionary();
答案 1 :(得分: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();
经过测试并且效果很好。希望它有所帮助!