【发布时间】:2015-11-12 14:42:52
【问题描述】:
我在开发的早期阶段有一个自定义控件,因为我努力学习 wpf 自定义控件开发。自定义控件继承自 ItemsControls,这使我可以访问绑定可枚举集合的 ItemsSource 属性。
目前我有一个简单的两个项目解决方案,其中一个包含我的自定义控件,另一个包含一个测试项目来测试前者。在我的测试项目中,我有一个简单的主窗口,我在上面放置了我的自定义控件并绑定了它的 ItemsSource。
<WpfControls:VtlDataNavigator x:Name="MyDataNavigator"
ItemsSource="{Binding ElementName=MainWindow, Path=Orders}" />
在主窗口(实现 INotifyPropertyChanged)的加载事件中,我实例化了 Orders 集合。 customcontrols 在主窗口加载之前被初始化,但我可以通过检查 Visual Studio 中的 Live Visual Tree 看到,一旦主窗体加载自定义控件 Items Source 属性确实设置为 Orders。现在当然我实际上想计算订单并让我的自定义控件显示(它是一个简单的数据导航器,所以我想要的是记录计数)。我知道如何获取计数,但我如何知道 itemsSource 何时发生更改,以便我可以对其做出反应并获取计数。我看不到 itemsSourceChanged 事件。
我看过 this 博客文章,但我想知道是否有更直接的方法来解决这个问题,因为这似乎是很明显的事情。
【问题讨论】:
标签: wpf vb.net custom-controls itemscontrol itemssource