用于处理事件的WPF DataTemplates和Custom Classes

时间:2009-11-23 05:19:22

标签: wpf events datatemplate

如果我有一个名为VideoMedia的自定义类(其中包含视频路径的标准Uri),并且我使用了DataTemplate来创建类似控件的视频播放器。

<DataTemplate DataType="{x:Type v:VideoMedia}">
    <MyLib:VideoPlayer/>
</DataTemplate>

VideoPlayer类扩展了UserControl并简单地控制了视频文件的播放

如何在VideoMedia类中添加事件处理程序,以便它可以包含某种TimeStarted属性?我在运行时需要它,所以我可以判断视频是否正在运行。

我正在存储一个IDictionary<int, VideoMedia>集合,我每隔2秒迭代一次,以判断视频是否正在播放。有没有更好的方法呢?

1 个答案:

答案 0 :(得分:1)

如果您的VideoPlayer用户控件正确构建,其中包含IsPlaying依赖项属性。只需对VideoMedia.IsPlaying一起绑定到VideoPlayer.IsPlaying,你就可以了。

<MyLib:VideoPlayer  IsPlayingDP="{Binding IsPlaying}" ... />