【问题标题】:Double Animation item detection双动画项目检测
【发布时间】:2010-07-14 06:04:33
【问题描述】:

我目前正在为 WPF 编写一个选取框控件。该控件由一个 ItemsControl 组成,其中 TextBlock 作为选择的 DataTemplate 元素。 ItemsControl 是 Double Animation 的目标,它操纵 Canvas.Left 属性。

我想做的是创建一个“循环模式”,这将允许选取框在最后一个项目滚动到视图中时动态地将一个项目添加到它的尾部。这样,选框将永远不会显示为空。

如何检测 TextBlock 何时因动画而“滚动”到视图中(实际上变为可见)?

【问题讨论】:

标签: c# wpf silverlight


【解决方案1】:

检查ItemControlActualWidth 属性是否大于TextBlock 的当前Canvas.Left 值可能会起作用。

要获取更改事件,请查看此 SO:How do I handle Canvas.Top change event in WPF?

保留对添加到选框尾部的最后一个控件的引用可能很有用,这样您就可以在控件滚动到视图中后删除事件处理程序并将事件处理程序附加到TextBlock然后将其添加到尾部。

如果能够画出一些东西以便更好地理解,那就太好了。如果有任何不清楚(技术上或概念上)的地方,请询问,询问,询问...... :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-25
    • 2012-04-11
    • 2015-06-23
    • 1970-01-01
    • 2015-02-01
    • 2014-11-27
    • 2020-03-19
    相关资源
    最近更新 更多