【发布时间】:2012-01-10 10:10:45
【问题描述】:
我有一个动态生成的MediaStreamSource,我想绑定到一个 MediaElement。不幸的是,Source 属性只接受 URI,所以我不走运。
有一个方法 SetSource 我可以在后面的代码中调用它,但我不知道如何在保持 MVVM 模式的同时做到这一点。
有没有人可以将 MediaElement 绑定到源?
解决方案(感谢 Claus Jorgensen)
我定义了一个类MainPageLoaded 用作消息类。
public class MainPageLoaded
{
public MediaStreamSource StreamSource
{
get;
set;
}
}
然后我在我的视图模型中发送我的消息
var msg = new MainPageLoaded(){ StreamSource = new MediaStreamSource()};
Messenger.Default.Send<MainPageLoaded>(msg);
并在我看来接收它
Messenger.Default.Register<MainPageLoaded>(this, (action) => SetSoundSource(action));
在处理之前
private void SetSoundSource(MainPageLoaded action)
{
SoundElement.SetSource(action.StreamSource);
}
【问题讨论】:
标签: c# .net silverlight windows-phone-7 mvvm