我正试图获取一个取决于两个值的值,在我的列表框中我试图做这样的事情:
<TextBlock x:Name="Distance" Text="{Binding lattitude,Longtitude,Converter={StaticResource Distanceconverter}}" />
所以,实际上我需要调用我的转换器的问题,但取决于2个值, 有什么想法吗?
答案 0 :(得分:0)
是的,改为你对以下内容的约束:
<TextBlock x:Name="Distance" Text="{Binding Path=.,Converter={StaticResource Distanceconverter}}" />
并更改您的DistanceConverter
以接受包含纬度和经度的对象。 Windows Phone目前不支持多重绑定。
在页面顶部添加:
<phone:PhoneApplicationPage.Resources>
<converters:Distanceconverter x:Key="Distanceconverter" />
</phone:PhoneApplicationPage.Resources>
假设您的绑定模型如下:
public class LocationModel
{
public double Longitude { get; set; }
public double Latitude { get; set; }
}
以
的形式创建转换器public class DistanceConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var location = value as LocationModel;
if (location != null)
{
// Your business logic here, e.g.
return location.Latitude + location.Latitude;
}
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}