none
UWP évènement Tapped sur les images d'un FlipView RRS feed

  • Question

  • Bonjour, voici le code que j'utilise pour insérer un FlipView dans une Page UWP et y incorporer des images.

    J'ai associé à ce FlipView l'évènement SelectionChanged qui effectue une action à chaque changement d'image.

    La ou je bloque, c'est que je voudrais également configurer le fait de pouvoir cliquer sur chaque image et en fonction de l'image Cliquer, associé une action précise.

      <FlipView Grid.Row="2" Height="Auto" Width="480"
                          x:Name="FlipViewMEF" BorderBrush="Transparent"
                          BorderThickness="1" Grid.Column="2"
                          Background="Transparent"
                          SelectionChanged="FlipViewMEF_SelectionChanged">
                        <FlipView.ItemTemplate>
                            <DataTemplate>
                                <ScrollViewer Style="{StaticResource ScrollViewerZoomStyle}"
                                          DoubleTapped="ScrollViewer_DoubleTapped">
                                    <Image Source="{Binding ImageMEF}"/>
                                </ScrollViewer>
                            </DataTemplate>
                        </FlipView.ItemTemplate>
                    </FlipView>
    
     protected override void OnNavigatedTo(NavigationEventArgs e)
            {
                base.OnNavigatedTo(e);
                data1.Add(new MyImageMEF() { ImageMEF = "ms-appx:///Assets/OngletPolice.PNG" });
                data1.Add(new MyImageMEF() { ImageMEF = "ms-appx:///Assets/Bordure.png" });
                data1.Add(new MyImageMEF() { ImageMEF = "ms-appx:///Assets/Police.png" });
                data1.Add(new MyImageMEF() { ImageMEF = "ms-appx:///Assets/ReproMEF.PNG" });
                data1.Add(new MyImageMEF() { ImageMEF = "ms-appx:///Assets/WordArt.PNG" });
                data1.Add(new MyImageMEF() { ImageMEF = "ms-appx:///Assets/WordArt1.PNG" });
                 FlipViewMEF.ItemsSource = data1;
            }
            private void FlipViewMEF_SelectionChanged(object sender, SelectionChangedEventArgs e)
            {
                int index = FlipViewMEF.SelectedIndex;
                Debug.WriteLine(index);
                switch (index)
                {
                    case 0:
                        //Action
                        break;


    JF Collombet ® CreateSpecificCulture

    samedi 14 janvier 2017 15:51

Réponses

  • Bonsoir,

    Voici un exemple de code. En revanche j'ai du faire des petites modifications pour que je puisse tester le code que vous avez posté : 

    Côté XAML : 

            <FlipView 
                      Height="Auto"
                      Width="250"
                      x:Name="FlipViewMEF"
                      BorderBrush="Transparent"
                      BorderThickness="1"
                        HorizontalAlignment="Center" VerticalAlignment="Center"
                      Background="Transparent"
                      SelectionChanged="FlipViewMEF_SelectionChanged">
                <FlipView.ItemTemplate>
                    <DataTemplate>
                        <ScrollViewer DoubleTapped="ScrollViewer_DoubleTapped"
                                      >
                            <Image Source="{Binding ImageMEF}" Tapped="Image_Tapped"/>
                        </ScrollViewer>
                    </DataTemplate>
                </FlipView.ItemTemplate>
            </FlipView>
    

    Coté C# sur l'évènement Image_Tapped :

            private void Image_Tapped(object sender, TappedRoutedEventArgs e)
            {
                Image img = (Image)sender;
                MyImageMEF imageSelected =(MyImageMEF) img.DataContext;
    
    
                switch (imageSelected.ImageMEF)
                {
                    case "ms-appx:///Assets/StoreLogo.png":
                        //Action
                        break;
    
                    case "ms-appx:///Assets/Wide310x150Logo.scale-200.png":
                        //Action
                        break;
                }
               
            }

    J'espère que j'ai bien répondu à votre question.

    Si c'est le cas, n'hésitez pas à mettre ma réponse en réponse à votre post

    Vous pouvez me suivre sur Twitter : https://twitter.com/NordineMhoumadi


    Please remember to close your threads by marking helpful posts as answer and then start a new thread if you have a new question. Please don&amp;amp;amp;amp;#39;t ask several questions in the same thread. SVP utiliser le Marquer comme reponse; sur les reponses qui vous aide car cela permet aux personnes qui peuvent rencontrer le meme probleme que vous, de retrouver rapidement quelle est la reponse qui a resolu leur probleme. De plus, cela encourage aussi la personne qui a repondu a votre question, et de repondre aux suivantes...

    samedi 14 janvier 2017 18:33