用于处理事件的WPF数据模板和自定义类
如果我有一个名为用于处理事件的WPF数据模板和自定义类,wpf,events,datatemplate,Wpf,Events,Datatemplate,如果我有一个名为VideoMedia(包含视频路径的标准Uri)的自定义类,并且我有一个DataTemplate,我使用它来创建类似视频播放器的控件 <DataTemplate DataType="{x:Type v:VideoMedia}"> <MyLib:VideoPlayer/> </DataTemplate> (VideoPlayer类扩展了UserControl并简单地控制视频文件的播放) 如何将事件处理程序添加到VideoMedia类
VideoMedia
(包含视频路径的标准Uri)的自定义类,并且我有一个DataTemplate
,我使用它来创建类似视频播放器的控件
<DataTemplate DataType="{x:Type v:VideoMedia}">
<MyLib:VideoPlayer/>
</DataTemplate>
(VideoPlayer类扩展了UserControl并简单地控制视频文件的播放)
如何将事件处理程序添加到VideoMedia
类中,以便它可以包含某种TimeStarted
属性?我在运行时需要它,这样我就可以知道视频是否正在运行
我正在存储一个
IDictionary
集合,每2秒钟迭代一次,以判断视频是否正在播放。有更好的方法吗?如果您的VideoPlayer用户控件正确构建,并带有IsPlaying Dependency属性。只需将VideoMedia.isplay绑定到VideoPlayer.isplay即可
<MyLib:VideoPlayer IsPlayingDP="{Binding IsPlaying}" ... />
您的意思是使用模板绑定?刚刚更新了帖子,IsPlayingDP是您的usercontrol属性,IsPlaying是您的Viewmodel属性。我得到:无法使用绑定检索值,并且不存在有效的回退值;改为使用默认值。BindingExpression:Path=isplay;DataItem='VideoMedia'(HashCode=51593576);目标元素是“VideoPlayer”(Name='UserControl');目标属性为“IsPlaying”(类型为“Boolean”)