ItemsControl从CurrentPosition = 0开始,而不是-1

时间:2016-05-03 08:15:35

标签: c# wpf

我正在制作一个自定义控件,这是一个FlipView。在它的控件模板中,存在一个ContentControl,它绑定到Items.CurrentItem,并且有一个下一个按钮和一个前一个按钮,它将执行Items.MoveCurrentToNext(),反之亦然。到现在为止还挺好。

我的问题是,在开始时,Items.CurrentItemnull,因此flipview为空。我希望它显示其Items集合中的第一个项目。

我目前使用的解决方案源自Selector并在构造函数中设置IsSynchronizedWithCurrentItem = true并设置SelectedIndex = 0。这有效,但是有更好的方法吗?除了这种解决方法之外,我不需要选择器的功能。

this.Items.MoveCurrentToPosition(0);也不起作用。它什么都不做:/

1 个答案:

答案 0 :(得分:1)

我覆盖了// right! "daniel" + " " + "Spiewak" // wrong! "daniel"+" "+"spiewak" 方法并将此OnItemsChanged放在那里。现在它有效。之前没有用的原因是因为this.Items.MoveCurrentToPosition(0);集合是空的。

编辑:正如@jitendra garg的评论中提到的,我应该使用Loaded事件。