小编ita*_*sso的帖子

MVVM模式违规:MediaElement.Play()

我知道ViewModel不应该具有View的任何知识,但我如何从ViewModel调用MediaElement.Play()方法,而不是在ViewModel中引用View(或直接引用MediaElement)?
其他(链接)问题:如何在不违反MVVM模式的情况下从ViewModel管理View的控件可见性?

wpf visibility mediaelement mvvm

18
推荐指数
2
解决办法
8673
查看次数

如果移动到其他屏幕,WPF MediaElement将停止播放

我遇到了一个非常奇怪的问题,MediaElement似乎与多屏幕环境有关:偶尔(我不能每次都复制问题)当我将窗口从屏幕拖到另一个窗口时MediaElement停止播放.这种奇怪的行为也发生在一个非常基本的代码中:

public MainWindow()
{
    InitializeComponent();
}

protected override void OnSourceInitialized(EventArgs e)
{
    media.Play();
    base.OnSourceInitialized(e);
}
Run Code Online (Sandbox Code Playgroud)

<Window x:Class="Test.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <MediaElement LoadedBehavior="Manual" 
                      Name="media" 
                      Source="C:\Users\Maurizio\Desktop\Pulp Fiction.avi"/>
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

有没有人经历过(并最终解决)任何类似的问题?

c# wpf mediaelement multiscreen

10
推荐指数
1
解决办法
2261
查看次数

标签 统计

mediaelement ×2

wpf ×2

c# ×1

multiscreen ×1

mvvm ×1

visibility ×1