![](/img/trans.png)
[英]Switching ResourceDictionary when user selects it from a settings page in Windows Phone
[英]How to update slider's maximum value based on user input in settings page when user presses Windows Phone back key?
我的MainPage.xaml上有一个Radial Slider Modern 。 我使用xaml 100设置了最大值。下面的代码
<my:RadialSliderModern x:Name="radialSliderModern"
Height="334"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Width="334"
SliderBrush="#F26464"
AllowKeyboardInput="False"
ShowSliderValue="True"
CurrentValue="0"
MaximumValue="100"
DataContext="{Binding}"
SliderValueChanged="sliderValueChanged"
Foreground="#F26464"
FontFamily="Segoe WP Light" />
我创建了一个设置页面和一个输入字段,用户可以在其中更改最大值。 当此输入字段失去焦点时,我使用此方法存储该值
private void maxValueUserBox_LostFocus(object sender, RoutedEventArgs e)
{
if (maxValueUser.Text.Length != 0)
{
maxVal = (int)Math.Round(Convert.ToDouble(maxValueUser.Text));
maxValueUser.Text = maxVal.ToString();
if (!settingsStorage.Contains("maxVal"))
{
settingsStorage.Add("maxVal", maxVal);
}
else
{
settingsStorage["maxVal"] = maxVal;
}
settingsStorage.Save();
}
}
我已经知道,通过在MainPage()构造函数中调用这段代码,我可以在启动时更新滑块的最大值,但是如果我想在用户按下时更新最大值,则无法弄清楚要使用哪个事件“设置”页面上的“后退”按钮,然后导航到MainPage。 有任何想法吗 ?
if (settingsStorage.Contains("maxVal"))
{
radialSliderModern.MaximumValue = Convert.ToDouble(settingsStorage["maxVal"]);
}
弄清楚了。 需要在MainPage.xaml上使用Loaded事件处理程序
Loaded="PhoneApplicationPage_Loaded"
并在文件后面的代码中
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
update_Slider();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.