Question

Existe-t-il un moyen d’utiliser WPF pour faire en sorte qu'un élément vidéo commence à jouer lorsqu'un utilisateur place son pointeur de la souris sur cet élément? Je souhaite créer une ressource numérique interactive et je souhaite qu'un extrait du film soit lu lorsque la souris survolera l'élément à cliquer pour l'apporter dans la section du film. Toute aide serait formidable.

Tout cela sera contenu dans une application Windows.

Était-ce utile?

La solution 2

Un problème rencontré avec

<MediaElement Margin="12" 
                  Name="mediaElement1" 
                  Source="mediaFile.avi"
                  LoadedBehavior="Manual"                      
                  MouseEnter="mediaElement1_MouseEnter"
                  MouseLeave="mediaElement1_MouseLeave"
                  Loaded="mediaElement1_Loaded"
                  />

Il ne semble pas aimer la

Loaded="mediaElement1_Loaded"

J'ai donc changé mon Initialize dans mon code derrière pour contenir le

mediaElement1.Pause();

Et cela fonctionne très bien.

Autres conseils

Si vous utilisez un MediaElement pour lire votre vidéo, écoutez simplement le fichier MouseEntered Événement et appelez Lire ().

Remarque: la propriété LoadedBehavior de MediaElement doit être définie sur Manuel pour pouvoir arrêter, mettre en pause et lire le média de manière interactive.

Voici un exemple:

En C # code-behind:

public partial class Window1 : Window
{
    public Window1()
    {
        InitializeComponent();
    }

    private void mediaElement1_MouseEnter(object sender, MouseEventArgs e)
    {
        mediaElement1.Play();
    }

    private void mediaElement1_MouseLeave(object sender, MouseEventArgs e)
    {
        mediaElement1.Stop();
    }

    private void mediaElement1_Loaded(object sender, RoutedEventArgs e)
    {
        mediaElement1.Pause();
    }
}

En XAML:

<Window x:Class="VideoTest.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>
        <MediaElement Margin="12" 
                      Name="mediaElement1" 
                      Source="mediaFile.avi"
                      LoadedBehavior="Manual"                      
                      MouseEnter="mediaElement1_MouseEnter"
                      MouseLeave="mediaElement1_MouseLeave"
                      Loaded="mediaElement1_Loaded"
                      />
    </Grid>
</Window>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top