2017-02-20 90 views
0

我有一個CarouselView與多個圖像,我想要得到什麼被點擊或點擊。我嘗試添加一個x:Name,但我無法訪問GestureRecognizer中的此屬性。在CarouselView中獲取圖像點擊

這是我的xaml。我有4頁,每頁有兩張照片。我會得到x:點擊圖像的名稱或者我可以知道圖像被點擊的地方。

<Image Grid.Row="0" Aspect="Fill" Source="{Binding Image1}" x:Name="{Binding ImageName1}" > 
      <Image.GestureRecognizers> 
        <TapGestureRecognizer 
          Tapped="ClickImage" /> 
      </Image.GestureRecognizers> 
      </Image> 
<Image Grid.Row="1" Aspect="Fill" Source="{Binding Image2}" x:Name="{Binding ImageName2}"> 
      <Image.GestureRecognizers> 
       <TapGestureRecognizer 
         Tapped="ClickImage" /> 
      </Image.GestureRecognizers> 
      </Image> 

回答

0

試試這個,看看它是否工作:

添加的classid到圖像中的XAML:

ClassId ="{Binding Image2}" 

而且這樣使用它。 imageString包含獨特的圖像。

async void ClickImage(object sender, EventArgs eventArgs) 
{ 
    Image image = (Image)sender; 
    string imageString = image.ClassId; 
    System.Diagnostics.Debug.WriteLine(imageString); 

} 
+0

謝謝!!這正是我期待的! – ivanbm

+0

沒問題! :) 很高興我能幫上忙 – Martman

0

你可以做的是設置了不同的敲擊手勢處理機爲每個圖像如

<Image Grid.Row="0" Aspect="Fill" Source="{Binding Image1}" x:Name="{Binding ImageName1}" > 
      <Image.GestureRecognizers> 
        <TapGestureRecognizer 
          Tapped="ClickImage1" /> 
      </Image.GestureRecognizers> 
      </Image> 
<Image Grid.Row="1" Aspect="Fill" Source="{Binding Image2}" x:Name="{Binding ImageName2}"> 
      <Image.GestureRecognizers> 
       <TapGestureRecognizer 
         Tapped="ClickImage2" /> 
      </Image.GestureRecognizers> 
      </Image>