首先声明一下:我有编程经验,但在XAML/WPF/StackOverflow方面还是个初学者。如果有任何“愚蠢”的地方,请谅解并请告诉我哪里没有描述清楚或需要额外的信息。谢谢。
简介:
我有一个基类Item
,其中包含一些属性(例如Title
、Notes
等)。然后我有一些派生类,如ContactItem
、MediaItem
等,它们具有附加属性,可以作为进一步专门化项目类型的基类(例如,ImageItem
、MusicItem
和VideoItem
是从 MediaItem
派生的; Person
和Institution
是从ContactItem
派生的)。
在WPF中,我想要一个页面,可以将多种项目类型一起显示。目前我使用一个ItemsPanel
来实现这一点,并为每种项目类型开始指定数据模板 - 而且有很多(超过50个)。
问题:
现在我想要的是一种项目控件的“继承”(例如,有一个“基本”UserControl
,其中有一个ContentPresenter
,并添加附加属性的其他控件/控件模板)。如何在WPF/XAML中处理这个问题,而不必在数据模板中为派生的项目类型复制/粘贴从基类中复制的控件?
如果您有任何想法或指引,请告诉我。如果需要一些代码或其他信息,请告诉我。