为什么我能';在c#/xaml metro应用程序中,在一个类中设置为另一个类时,是否无法获取属性值?
我在WinRT中开发一个应用程序,我需要将一个类中设置的属性值传递给另一个类,但我无法获得它们。我下面的代码将向您解释我的问题。请注意,我已经在模拟器中对此进行了测试,并添加了在清单中定位的功能。我有一个模拟器 MainPage.xaml为什么我能';在c#/xaml metro应用程序中,在一个类中设置为另一个类时,是否无法获取属性值?,c#,oop,properties,microsoft-metro,windows-runtime,C#,Oop,Properties,Microsoft Metro,Windows Runtime,我在WinRT中开发一个应用程序,我需要将一个类中设置的属性值传递给另一个类,但我无法获得它们。我下面的代码将向您解释我的问题。请注意,我已经在模拟器中对此进行了测试,并添加了在清单中定位的功能。我有一个模拟器 MainPage.xaml <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}"> <TextBlock x:Name="MyTextBlock"/> </G
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<TextBlock x:Name="MyTextBlock"/>
</Grid>
MyClass.cs
public class MyClass
{
public double Lat { get; set; }
public double Long { get; set; }
public MyClass()
{
FindLatLong();
}
public async void FindLatLong()
{
Geolocator geolocator = new Geolocator();
var pos = await geolocator.GetGeopositionAsync();
Lat = pos.Coordinate.Latitude;
Long = pos.Coordinate.Longitude;
}
}
我正在获取异步执行的FindLatLong输出“0,0”,因此,在构造函数最终从MSDN论坛获得my之后,不会直接设置Lat/Lon属性。显示位置的另一种方法是实现INotifyPropertyChanged接口,并将文本框绑定到类的属性。您希望得到不同的结果吗?是,因为我已经在模拟器中手动设置了坐标,所以同步执行它,或者添加一个在设置坐标后调用的事件
public class MyClass
{
public double Lat { get; set; }
public double Long { get; set; }
public MyClass()
{
FindLatLong();
}
public async void FindLatLong()
{
Geolocator geolocator = new Geolocator();
var pos = await geolocator.GetGeopositionAsync();
Lat = pos.Coordinate.Latitude;
Long = pos.Coordinate.Longitude;
}
}