带项目/数据模板的WPF自定义控件

我知道如何在WPF中创建自定义用户控件但是如何才能使某人能够提供ItemTemplate?

我有一个用户控件,它是几个其他WPF控件的混合,其中一个是ListBox。 我想让控件的用户指定列表框的内容,但我不知道如何传递该信息。

编辑:接受的答案适用于以下更正:

   

您将需要向控件添加DependencyProperty。 如果您从UserControl或Control派生,则xaml看起来会略有不同。

 public partial class MyControl : UserControl { public MyControl() { InitializeComponent(); } public static readonly DependencyProperty ItemTemplateProperty = DependencyProperty.Register("ItemTemplate", typeof(DataTemplate), typeof(MyControl), new UIPropertyMetadata(null)); public DataTemplate ItemTemplate { get { return (DataTemplate) GetValue(ItemTemplateProperty); } set { SetValue(ItemTemplateProperty, value); } } } 

这是用于UserControl的xaml。

    

这是控件的xaml: