WPF时间轴控制结束时间绑定

时间:2016-01-08 15:10:05

标签: c# wpf xaml timeline

关于

我已将第三方控件添加到我的应用程序中(参见下面):

http://www.codeproject.com/Articles/240411/WPF-Timeline-Control-Part-I

此控件具有我的应用程序所需的功能,例如从列表框中拖放拖动结束时间拖动开始时间移动幻灯片

它使用5种不同的C#类:

  • TimeLineControl(处理实际的TimeLine,例如Items_Changed,绘制线条)

  • TimeLineItemControl(处理TimeLine中的项目,例如Move_End,Move_Start)

  • TempDataType( TimeLine中项目绑定的属性,例如结束时间,开始时间)。

    public class TempDataType : ITimeLineDataItem
    {
        public TimeSpan? StartTime { get; set; }
        public TimeSpan? EndTime { get; set; }
        public ImageBrush BackgroundImage { get; set; }
        public Boolean TimelineViewExpanded { get; set; }
        public String Name { get; set; }
    }
    
  • ITimeLineManager(不确定这实际用于)。

    public interface ITimeLineManager
    {
        Boolean CanAddToTimeLine(ITimeLineDataItem item);
    }
    
  • ITimeLineDataItem(我再也不确定这是为了)。

    public interface ITimeLineDataItem
    {
        TimeSpan? StartTime { get; set; }
        TimeSpan? EndTime { get; set; }
        Boolean TimelineViewExpanded { get; set; }
    }
    

我想要实现的目标

用户将幻灯片从列表框拖到时间轴上。然后当用户点击“播放”时我的实时相机输入将出现,幻灯片的结束时间将随着相机的实时移动而实时移动。

问题

TimeLineControl中的项目的开头和结尾似乎有按钮,这些按钮在这里定义:

<ContentPresenter HorizontalAlignment="Stretch" VerticalAlignment="Stretch" x:Name="PART_ContentHostPART_ContentHost" />
    <ContentPresenter HorizontalAlignment="Left" VerticalAlignment="Stretch" x:Name="PART_LeftIndicator">
        <ContentPresenter.Content>
            <Button />
        </ContentPresenter.Content>
</ContentPresenter>
<ContentPresenter HorizontalAlignment="Right" VerticalAlignment="Stretch" x:Name="PART_RightIndicator">
    <ContentPresenter.Content>
        <Button />
    </ContentPresenter.Content>
 </ContentPresenter>

这些事件似乎已经与它们相关联,因此如果您在TimelineControl内点击或移动某个项目,将会触发某些事件。

当我调试程序以查看手动移动End时会发生什么,它似乎将object sender传递给传递的方法:

enter image description here

然后将其转换为TimeLineItemControl TimeLineItemControl ctrl = sender as TimeLineItemControl;

当我尝试这样做时,我可以在TimeLine中找到该项目,但它不会让我演员,因为我看起来像这样:

enter image description here

我需要知道

我想知道点击“播放”的时间。按钮,怎么做我得到结束时间来实时移动TimeLineControl。

很抱歉,如果我错过了一些信息,请告诉我,我会直接添加。

0 个答案:

没有答案