我在获取绑定到Temp_Mash_value的滑块的值时遇到一些问题。
<Slider x:Name="Temp_Mash" Margin="20,5,20,0" MaximumTrackColor="DarkGray" MinimumTrackColor="Gray" ThumbColor="Black" Minimum="0" Maximum="100" Value="{Binding Temp_Mash_value}"
当我使用Mash类在ContentPage上时,可以将值例如更改为45且没有问题并获得实际值,但是当我更改页面在哪里是第一类并尝试获取Temp_Mash_value的值时,我正在仅使用默认值,例如:Temp_Mash_value = 25;而不是实际设置的。 我可以添加Mash mash = new Mash();在开始时被调用,而在此之后更改滑块值
//In one of my class I have:
Mash mash = new Mash();
//... some code...
//method with:
//I'm trying to get value of slider:
double test = mash.Temp_Mash_value;
//The second class:
public partial class Mash : ContentPage
{
private double temp_Mash_value;
public double Temp_Mash_value
{
get
{
return temp_Mash_value;
}
set
{
temp_Mash_value = value;
OnPropertyChanged(nameof(Temp_Mash_value));
}
}
public Mash()
{
InitializeComponent();
BindingContext = this;
Temp_Mash_value = 25;
}
}
答案 0 :(得分:0)
最简单的方法是将Mash设置为全局静态。
public partial class Mash : ContentPage
{
private double temp_Mash_value;
public double Temp_Mash_value
public static Mash Instance;
{
get
{
return temp_Mash_value;
}
set
{
temp_Mash_value = value;
OnPropertyChanged(nameof(Temp_Mash_value));
}
}
public Mash()
{
InitializeComponent();
BindingContext = this;
Temp_Mash_value = 25;
Instance = this;
}
}
然后在其他类中,您可以得到如下值:
double test = Mash.Instance.Temp_Mash_value;