相关疑难解决方法(0)

MVVM模式违规:MediaElement.Play()

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

wpf visibility mediaelement mvvm

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

在MVVM中,播放来自Model或ViewModel的媒体文件?

这个问题与— MediaElement无关,与此相关,我已经从ViewModel中读取了MediaElement.play()违反MVVM模式的内容:MediaElement.Play(),我都同意。

但是请说我们使用的是第三方程序集,例如NAudio。我们不必寻找将现有XAML媒体控件的交互式功能插入我们的ViewModel的方法。相反,我们可以简单地InteractionTrigger在View中使用例如s,在ViewModel中对其进行订阅,然后在给定的媒体文件上调用play命令。

现在我的问题是:在MVVM模式下,这是否仍适合ViewModel?还是我们应该将其交给模型并从那里播放文件?

c# wpf mvvm

2
推荐指数
1
解决办法
387
查看次数

标签 统计

mvvm ×2

wpf ×2

c# ×1

mediaelement ×1

visibility ×1