【发布时间】:2011-06-09 13:09:04
【问题描述】:
假设我需要创建一个名为 PictureWall 的类,用于显示图片。
现在我发现 Panel 和 ItemsControl 都可以用来保存 Children 元素。那么 PictureWall 类应该派生自 Panel 吗?还是应该从 ItemsControl 派生。
注意:这不是一个真实的要求,这只是一个假设的问题。真正的问题是:什么时候应该创建 Control(或 ItemsControl)的子类,什么时候应该创建 Panel 的子类?
注意 2:这个想象中的图片墙控件不能仅在一个应用程序中使用。它可能被其他开发人员使用。如果它派生自 Panel 或 ItemsControl,它将向其他开发人员公开名为 Children 的属性。所以在这种情况下,从 Control 派生是一个更好的主意,对吧?
注 3:这个想象中的图片墙控件有自己的默认加载某些图片的方式(例如,从服务器拉取图片),它不希望这种方式被搞乱。如果是这样的话,那我们就不应该继承ItemsControl了吧?
【问题讨论】:
-
您希望如何显示图片?看看silverlight.codeplex.com/releases/view/52297Wrappanel
-
这不是一个真正的要求,它只是一个假设的问题。真正的问题是:什么时候应该创建 Control(或 ItemsControl)的子类,什么时候应该创建 Panel 的子类?
标签: wpf silverlight windows-phone-7 custom-controls