我想创建自己的控件派生自ListBoxItem,在我的控件中应该存在一个多边形,它将被显示。多边形应该包含3个点,所以是三角形。然后应该显示这个三角形。因为三角形应该存在于ListBoxItem中,我不知道如何显示它。最重要的是,我想要几个ListBoxItems包含在一个ListBox中,以便创建一个2D字段。
我到底是怎么做的,因为我在创建自定义控件方面没有经验,真的需要你的帮助。
您可能不需要自定义控件用于自定义项模板。请检查@克莱门斯的回答#
你不会创建一个派生的ListBoxItem,而是简单地在ListBox的ItemTemplate中放入一个多边形,类似于:stackoverflow.com/a/22325266/1136211。将多边形的Points属性绑定到视图模型项类的属性。你不需要那个例子中的ItemContainerStyle,但是你应该使用一个Canvas作为ItemsPanel。
如果你仍然想使用自定义控件,你需要将它添加到@Clemens answer中提到的ItemTemplate中:<ItemTemplate><your-custom-control /></ItemTemplate>
如果你需要对所选项目模板进行更多的控制,你可以检查ItemTemplateSelector(参见learn.microsoft.com)。