我正在为WPF编写一个选框控件。该控件由ItemsControl组成,TextBlock作为选择的DataTemplate元素。 ItemsControl是Double Animation的目标,它操纵Canvas.Left属性。
我想要做的是创建一个“循环模式”,这将允许选取框在最后一个项目滚动到视图时动态地将项目添加到其尾部。这样,选框将永远不会显示为空。
如何通过动画检测TextBlock何时“滚动”到视图中(实际上是否可见)?
答案 0 :(得分:1)
您可能需要检查ItemControl
的{{1}}属性是否大于ActualWidth
的当前Canvas.Left
值。
要获取更改事件,请查看此SO:How do I handle Canvas.Top change event in WPF?
保留对添加到选取框尾部的最后一个控件的引用可能很有用,这样一旦控件滚动到视图中就可以删除事件处理程序并将事件处理程序附加到{{1然后将其添加到尾部。
能够为更好的理解画出一些东西会很好。如果有任何不清楚的地方(技术上或概念上)询问,请问,问......:)