从Windows Phone上的“设置”页面传播设置
本文关键字:设置 传播 Windows Phone 上的 | 更新日期: 2023-09-27 18:13:30
我有一个Windows Phone 8.1应用程序,我有两个页面。首先是主页。xaml,其中我使用longlistselector控件来显示列表。在设置中。在xaml页面上,我使用Listpicker控件为用户选择了字体大小。
问题是,一旦用户在设置页面上选择了新的字体大小,我想在MainPage上的longlistselector中更改字体。但是,在主页上声明的长列表选择器。xaml在"设置"页面中不可用。(我正在MainPage.cs文件中设置longlistselector的itemssource)
我该如何解决这个问题?我应该使用MainPage的页面事件吗?Xaml并检测用户是否更改了字体大小?解决这个问题的标准方法是什么?
Settings.xaml:
<TextBlock Text="Select Font" Margin="0,0,0,0"/>
<toolkit:ListPicker Name="fontlistpicker" Tap="fonttapped" Margin="0,35,0,0" Grid.Row="0" SelectionChanged="fontlistpicker_SelectionChanged">
<toolkit:ListPickerItem x:Name="Font1" Content="10"/>
<toolkit:ListPickerItem x:Name="Font2" Content="20"/>
<toolkit:ListPickerItem x:Name="Font3" Content="30"/>
<toolkit:ListPickerItem x:Name="Font4" Content="40"/>
<toolkit:ListPickerItem x:Name="Font5" Content="50"/>
</toolkit:ListPicker>
XAML in MainPage.xaml:
<phone:LongListSelector Name="myList" >
<phone:LongListSelector.ListHeader>
<TextBlock Name ="dailyHeader" Margin="0,0,0,10" HorizontalAlignment="Center"/>
</phone:LongListSelector.ListHeader>
</phone:LongListSelector>
当你离开设置时。你可以使用OnNavigatedFrom()方法将你的设置保存到isolatedstoragessettings。然后在主页中。在OnNavigatedTo()方法后面的代码xaml中,你可以从isolatedstoragessettings中加载设置值,并在LongListSelector中设置字体。这就是做这件事的方法。在设置页面中,添加以下代码
protected override void OnNavigatedFrom(NavigationEventArgs e)
{
base.OnNavigatedFrom(e);
string key = "Font-Size";
IsolatedStorageSettings.ApplicationSettings[key] = (fontlistpicker.SelectedItem as ListPickerItem).Content.ToString();
}
然后在mainpage . example .cs文件中添加以下
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
if (IsolatedStorageSettings.ApplicationSettings.Contains("Font-Size"))
{
string fontSize = IsolatedStorageSettings.ApplicationSettings["Font-Size"] as string;
// Code to set the Font size of your LongListSelector
}
}