C# 如何从子级获取父级集合的计数?
我已经为列表框的ItemsSource分配了一个ObservableCollection。Listbox使用的是一个DataTemplate,其中包含一个usercontrol,其中的项绑定到每个listboxitem的属性 我在usercontrol上有一个向上和向下按钮,可以在列表中向上或向下移动项目。列表按我正在更改的属性排序。单击向上或向下,DisplayOrder属性被更改,我使用INotifyProperty告诉ObservableCollection它需要重新排序 usercontrol获取项目计数的最佳方式是什么,以便在项目到达列表底部时禁用向下按钮。顶部很简单,我比较0listBox1.Items.Count?C# 如何从子级获取父级集合的计数?,c#,silverlight,C#,Silverlight,我已经为列表框的ItemsSource分配了一个ObservableCollection。Listbox使用的是一个DataTemplate,其中包含一个usercontrol,其中的项绑定到每个listboxitem的属性 我在usercontrol上有一个向上和向下按钮,可以在列表中向上或向下移动项目。列表按我正在更改的属性排序。单击向上或向下,DisplayOrder属性被更改,我使用INotifyProperty告诉ObservableCollection它需要重新排序 usercont
this.Parent.Controls.Count?我看到两种处理方法 第一种方法是在将每个项目添加到集合中时,将集合的句柄传递给每个项目,以便它们可以计算它们本身是第一个还是最后一个项目 另一种方法是公开项目上的可写属性,如CanGoUp和CanGoDown,父控件将负责正确设置这些属性。我更喜欢这个解决方案,因为它将父列表的行为与子项分离。尽管向上/向下按钮位于子项上,但它实际上是父项列表的一项功能