![](/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.