【发布时间】:2014-10-30 08:37:33
【问题描述】:
在我的解决方案中,我想在页面导航到时设置滑块的值,并在用户离开页面时保存该设置。出于某种原因,我保存的滑块值总是被覆盖为起始值?滑块的 ValueChanged 事件在 OnNavigatedTo 之前运行,并使用用户请求的滑块值重置我保存的变量。
MainPage.xaml
<Slider x:Name="Slider" Minimum="1" Maximum="256" ValueChanged="Slider_ValueChanged"/>
MainPage.xaml.cs
protected override void OnNavigatedTo(NavigationEventArgs e)
{
Slider.Value = (double)Settings.Slider.Value;
}
private void Slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
Slider slider = sender as Slider;
if (slider != null)
{
//slider.Value = Math.Round(slider.Value); //Round the value so it is a whole number even when the slider is dragged
slider.Value = Settings.Slider.Value;
Settings.Slider.Value = (int)slider.Value;
}
}
请注意,Settings.Slider.Value 允许将滑块值保存在存储中以供将来使用。我知道这可以正常工作,但我无法确保始终将滑块设置为用户的偏好。
【问题讨论】:
标签: c# xaml windows-phone-8