Универсальное приложение для Windows не может установить значение слайдера
РЕШИТЬ
Собственно, я решил проблему, удалив событие "Value_Changed" из XAML и добавив его вручную с помощью C# AFTER, установив значение ползунка. Иначе похоже, что ползунок принимает минимально возможное значение - спасибо всем
У меня есть две страницы, на одной странице есть ползунок, который должен принимать значение переменной с первой страницы.
Main.xaml.cs
public static int val;
...//Some stuff here
val = Converti.ToInt32(roamingSetting.Value["Setting"]);
...//Some stuff there
Тогда вторая страница
Second.xaml.cs
public Settings()
{
this.InitializeComponent();
slider.Value = Main.val; //looks like this line does not do his job
}
private void slider_ValueChanged(object s, RangeBaseValueChangedEventArgs e)
{
writeToRoaming(slider.Value.Tostring());
}
Слайдер XAML
<Slider x:Name="slider" Minimum="5" Maximum="100" IsThumbToolTipEnabled="True" ValueChanged="slider_ValueChanged"/>
Дело в том, что значение ползунка никогда не устанавливается на значение настройки
2 ответа
Я воссоздал ваш сценарий, и он работает для меня, но думаю, что вы могли видеть одно из следующего:
- нет настроек роуминга
- используемое значение параметров роуминга выходит за пределы максимального и минимального значений, определенных для ползунка
Это может быть связано с привязкой слайдера к вашей переменной val. Но мы можем получить новое значение из аргументов событий в событии изменения значения слайда. Он запишет последние значения в настройки роуминга и решит проблему.
private void slider_ValueChanged(object s, RangeBaseValueChangedEventArgs e)
{
writeToRoaming(e.NewValue.ToString());
}