当用户按下Windows Phone后退键时,如何根据设置页面中的用户输入更新滑块的最大值?

时间:2014-05-16 02:05:11

标签: c# windows-phone-8 windows-phone

我的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"]);
        }

1 个答案:

答案 0 :(得分:0)

想出来。需要在MainPage.xaml上使用Loaded事件处理程序

Loaded="PhoneApplicationPage_Loaded"

并在文件背后的代码中

private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
    update_Slider();
}