0

解决了

实际上,我通过从 XAML 中删除“Value_Changed”事件并在设置滑块的值之后使用 C# 手动添加它来解决问题。否则,滑块看起来可能采用最小值 - 感谢所有人

我有两页,一页有一个滑块,它必须从第一页获取变量的值。

主要的.xaml.cs

public static int val;
...//Some stuff here

val = Converti.ToInt32(roamingSetting.Value["Setting"]);
...//Some stuff there

然后是第二页

第二个.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"/>

事实是滑块的值永远不会设置为设置的值

4

2 回答 2

0

使用您的 val 变量对滑块进行投标可能会出现一些问题。但是我们可以从幻灯片值更改事件中的事件参数中获取新值。它将最新值写入漫游设置并修复问题。

private void slider_ValueChanged(object s, RangeBaseValueChangedEventArgs e)
{
    writeToRoaming(e.NewValue.ToString());
}
于 2015-10-31T15:15:28.203 回答
0

我已经重新创建了您的场景,它对我有用,但认为您可能会看到以下内容之一:

  • 没有漫游设置值
  • 正在使用的漫游设置值超出了您为滑块定义的最大值和最小值
于 2015-11-02T00:59:40.430 回答