我正在尝试播放与我在故事板中运行的动画同步的声音。 首先,我在ViewModel中创建一个MediaEventObject(我正在使用MVVM模式):
private MediaElement _mediaElementObject;
public MediaElement MediaElementObject
{
get { return _mediaElementObject; }
set { _mediaElementObject = value; OnPropertyChanged("MediaElementObject"); }
}
XAML看起来像这样:
<ContentControl Content="{Binding MediaElementObject}"/>
在相应的方法中,我创建了Storyboard和MediaElementObject的实例:
sb = new Storyboard();
MediaElementObject = new MediaElement();
稍后我将MediaElement添加到故事板:
MediaTimeline mtl = new MediaTimeline(new Uri(@"./Resources/Sounds/Ka-ching.Wav", UriKind.RelativeOrAbsolute));
mtl.BeginTime = TimeSpan.FromSeconds(0.3);
Storyboard.SetTarget(mtl, MediaElementObject);
sb.Children.Add(mtl);
sb.Begin();
我的故事板中还有其他双重动画,我没有在这里展示。但声音永远不会播放。资源Ka-Ching.wav设置为“emmbedded resource”和“copy to output directory”。
答案 0 :(得分:0)
我必须将datacontext设置为MainWindow中的视图模型:
# 4 space indentation
[*.py]
indent_style = space
indent_size = 4