图像未获取类ID-Xamarin表单

时间:2018-11-11 17:36:25

标签: c# xamarin xamarin.forms

我的XAML中有几个图像,如下所示(在本示例中,我包含了两个图像)。

    <StackLayout Orientation="Horizontal" HorizontalOptions="Fill" Padding="0,5,0,5">
    <Image  x:Name="Image1" ClassId="{Binding Image1}" Source="tickoff.png" HeightRequest="18">
        <Image.GestureRecognizers>
            <TapGestureRecognizer
                Tapped="SelectedImage"
                NumberOfTapsRequired="1" />
        </Image.GestureRecognizers>
    </Image>
    <Label Text="Asian Foods" FontSize="16" HorizontalOptions="Center" Margin="5,0,0,0" 
        TextColor="{StaticResource greyishBrown}"/>
</StackLayout>

StackLayout Orientation="Horizontal" HorizontalOptions="Fill" Padding="0,5,0,5">
    <Image  x:Name="Image2" ClassId="{Binding Image2}" Source="tickoff.png" HeightRequest="18">
        <Image.GestureRecognizers>
            <TapGestureRecognizer
                    Tapped="SelectedImage"
                    NumberOfTapsRequired="1" />
            </Image.GestureRecognizers>
    </Image>
    <Label Text="Japanese Foods" FontSize="16" HorizontalOptions="Center" Margin="5,0,0,0" 
         TextColor="{StaticResource greyishBrown}"/>
</StackLayout>

我想检查用户单击了什么图像。堡垒,我正在使用ClassId。我在所有图像中都包含了ClassId。这在代码的后面有一个方法,我要从那里访问classId。

但是,当用户单击图像时,我没有得到ID。我是C#和Xamarin Forms的新手。有人可以帮我吗。

public void SelectedImage(object sender, EventArgs eventArgs)
{
        Image image = (Image)sender;
        string imageString = image.ClassId;

        DisplayAlert("Test", imageSender.ClassId,"OK");
        //TODO

}

1 个答案:

答案 0 :(得分:0)

XAML

 <StackLayout Orientation="Horizontal" HorizontalOptions="Fill" Padding="0,5,0,5">
                <Image  x:Name="Image1" ClassId="Image1" Source="tickoff.png" HeightRequest="18">
                    <Image.GestureRecognizers>
                        <TapGestureRecognizer
                Tapped="SelectedImage"
                NumberOfTapsRequired="1" />
                    </Image.GestureRecognizers>
                </Image>
                <Label Text="Asian Foods" FontSize="16" HorizontalOptions="Center" Margin="5,0,0,0" TextColor="{StaticResource greyishBrown}" />
            </StackLayout>

            <StackLayout Orientation="Horizontal" HorizontalOptions="Fill" Padding="0,5,0,5">
            <Image  x:Name="Image2"  ClassId="Image2" Source="tickoff.png" HeightRequest="18">
                <Image.GestureRecognizers>
                    <TapGestureRecognizer
                    Tapped="SelectedImage"
                    NumberOfTapsRequired="1" />
                </Image.GestureRecognizers>
            </Image>
            <Label Text="Japanese Foods" FontSize="16" HorizontalOptions="Center" Margin="5,0,0,0" TextColor="{StaticResource greyishBrown}"
         />
        </StackLayout>

C#

public void SelectedImage(object sender, EventArgs eventArgs)
{
        Image image = (Image)sender;
        string imageString = image.ClassId;

        DisplayAlert("Test", imageString ,"OK");
        //TODO

}
相关问题