我正在处理Xamarin表单,现在在该图像的水龙头上使用TapGestureRecognizer在图像中,我需要在c#中获取图像的来源.我怎么得到的?我这样做的原因是,Xamarin表单中的单选按钮不可用,点击图像时,我将检查图像的来源(如果来源已选中),则需要将来源更改为未选中,反之亦然.
这是我的XAML代码
<Image Scale="0.7" HorizontalOptions="Start" x:Name="radioButton" Source="unchecked.png">
<Image.GestureRecognizers>
<TapGestureRecognizer Tapped="radioButton_Clicked">
</TapGestureRecognizer>
</Image.GestureRecognizers>
</Image>
这是我的C#代码
private void radioButton_Clicked(object sender, EventArgs e)
{
var imageSource = "";//get image source here
if (imageSource == "Checked.png")
{
radioButton.Source = "Unchecked.png";
}
else
{
radioButton.Source = "Checked.png";
}
}
解决方法:
您可以在radioButton_Clicked动作上实现这样的效果
private void radioButton_Clicked(object sender, EventArgs e)
{
var imageSource = (Image)sender;//get image source here
var selectedImage = imageSource.Source as FileImageSource;
if (selectedImage.File == "Checked.png")
{
radioButton.Source = "Unchecked.png";
}
else
{
radioButton.Source = "Checked.png";
}
}
或者您可以使用自定义插件以获得支持复选框,请参阅此
https://github.com/XLabs/Xamarin-Forms-Labs