2009-01-19 97 views
3

當用戶將鼠標指針放在元素上時,有沒有使用WPF獲取視頻元素以開始播放的方法?我想製作一個交互式數字資源,當鼠標移到元素上點擊將它們帶到電影部分時,需要播放電影剪輯。任何幫助都會很棒。WPF在鼠標上播放電影

這將全部包含在Windows應用程序中。

回答

0

發現的問題與

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

它似乎不喜歡

Loaded="mediaElement1_Loaded" 

所以我改變了我的初始化在我的代碼後面包含

mediaElement1.Pause(); 

而且它工作得很好。

1

如果您使用MediaElement播放視頻,只需聽MouseEntered事件並致電Play()。

注意:MediaElement的LoadedBehavior屬性必須設置爲Manual以便能夠交互地停止,暫停和播放媒體。

下面是一個例子:

在C#代碼隱藏:

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(); 
    } 
} 

在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>