在我的WPF项目中,我使用的是Prism + MEF + MVVM。
在主窗口(我的意思是Shell.xaml)中必须有一个背景(图像或 .wmv文件)。但这必须能够随时更改(视图更改将发生更改)。 有些视图有图片,有些有电影。我可以使用图像作为模块中视图的背景。但电影文件不合适。 在改变时,它们都从一开始就开始。如果电影与上一个视图背景电影相同,我希望它继续。
在互联网上,我找不到任何关于此的来源/问题。
有没有人可以帮助我?
答案 0 :(得分:0)
我会将Background存储在ParentViewModel中,并确保仅在值发生更改时触发PropertyChanged事件。
public object WindowBackground
{
get {return _windowBackground; }
set
{
if (_windowBackground != value)
{
_windowBackground = value;
RaisePropertyChanged("WindowBackground");
}
}
}
然后,您可以使用Prism的EventAggregator
之类的东西来激活父ViewModel可以订阅的BackgroundChangeEvent
,这样所有ViewModel都可以更新背景。