C# 从Xamarin from中的手势识别器获取CommandParameter值
我正在将C# 从Xamarin from中的手势识别器获取CommandParameter值,c#,xaml,xamarin.forms,C#,Xaml,Xamarin.forms,我正在将CommandParameter发送到TapGestureRecognitizer,它在我的ontapGestureRecognitizerTap函数的对象参数中可用。但我无法从中提取价值。我怎样才能解决这个问题 我的列表视图(XAML标记): 在这里,我得到了我的价值: 您正在尝试将整个手势识别器转换为字符串,而不仅仅是其CommandParameter属性 void OnTapGestureRecognizerTapped(object sender, EventArgs args)
CommandParameter
发送到TapGestureRecognitizer
,它在我的ontapGestureRecognitizerTap
函数的对象参数中可用。但我无法从中提取价值。我怎样才能解决这个问题
我的列表视图(XAML标记):
在这里,我得到了我的价值:
您正在尝试将整个手势识别器转换为字符串,而不仅仅是其CommandParameter属性
void OnTapGestureRecognizerTapped(object sender, EventArgs args)
{
string fullPath = "";
Image imageSender = (Image)sender;
if (imageSender.GestureRecognizers.Count > 0)
{
var gesture = (TapGestureRecognizer)imageSender.GestureRecognizers[0];
fullPath = (string)gesture.CommandParameter;
}
DownloadFile(imageSender.Source.GetValue(UriImageSource.UriProperty).ToString());
}
您正在尝试将整个GestureRecognitor转换为字符串,而不仅仅是其CommandParameter属性
void OnTapGestureRecognizerTapped(object sender, EventArgs args)
{
string fullPath = "";
Image imageSender = (Image)sender;
if (imageSender.GestureRecognizers.Count > 0)
{
var gesture = (TapGestureRecognizer)imageSender.GestureRecognizers[0];
fullPath = (string)gesture.CommandParameter;
}
DownloadFile(imageSender.Source.GetValue(UriImageSource.UriProperty).ToString());
}
您可以使用的另一种解决方案是将EventArgs类型转换为TappedEventArgs并公开参数。 因此,要访问CommandParameter,您需要编写以下代码:
private void OnTapped(object sender, EventArgs e)
{
var te = (TappedEventArgs)e;
string parameter = (string)te.Parameter;
....
您可以使用的另一种解决方案是将EventArgs类型转换为TappedEventArgs并公开参数。 因此,要访问CommandParameter,您需要编写以下代码:
private void OnTapped(object sender, EventArgs e)
{
var te = (TappedEventArgs)e;
string parameter = (string)te.Parameter;
....