2012-09-25 98 views
0

我已经将Silverlight ItemsControl分类为SlideShow控件。当我直接在XAML中硬编码项目元素时,这工作正常。但是如果我使用DataTemplate,我如何访问每个项目的UI元素?如何访问ItemsControl中的UI元素?

+0

为什么哟你需要吗?你需要做什么,你不能在数据模板中做什么? –

+0

“SlideShow”控件根据ItemsControl中的项目运行动画故事板,以逐渐淡入和淡出每个控件。它在“DispatcherTimer”的勾号中执行此操作。 – Jordan

回答

2

ItemsControl的可以为他们的项目来创建新的项目去,所以你必须使用ItemsControl.Items让每个数据项,然后使用ItemsControl.ItemContainerGenerator.ContainerFromItem(或其他方法对ItemContainerGenerator找到该由DataTemplate

看到已创建该项目的UI元素:http://msdn.microsoft.com/en-us/library/system.windows.controls.itemcontainergenerator(v=vs.95).aspx

+0

我没有使用WPF,但我认为这可能仍然有帮助。 – Jordan

+0

链接是针对这些东西的Silverlight版本。我在“ui对象”的* generic *意义上使用了WPF这个词。 –

+0

物品容器可用时,是否有可以挂钩的事件? – Jordan

0

用foreach语句解析它?

如:

的foreach(在ParentObject.Children ChildObject C)

+0

我知道如何对一个序列进行foreach。我试图找出什么是“孩子”。 – Jordan