我试图建立一个用户控件至极能够采取元素从XAML这样的:如何在WPF用户控件一样创建组合框
<ComboBox >
<ComboBoxItem />
<ComboBoxItem />
<ComboBoxItem />
</ComboBox>
在ComboBox
,你可以添加ComboBox
之间的项目标签,我想复制这个,但我不知道从哪里开始。
完成了它应该是这样的:
<cis:ReportControl Grid.Row="3">
<cis:ReportItem />
</cis:ReportControl>
在cis:ReportControl
,也有一些Button
S和ComboBox
,基本上我只是想与项目喂ComboBox
。
该报告项目只是一个ComboBoxItem
与一些额外的属性。
编辑:
我根据@Snowbears答案实现了它,但现在的问题是,控制其自身作为一个项目。 我认为这是因为我有一些内容,并通过将ContentProperty
定义为我的ComboBox
,它被重定向到Box中。 我能做些什么来避免这种情况?
编辑II:
它完全与这个工程现在:
private ItemCollection reportItems;
public ItemCollection ReportItems
{
get
{
if (reportItems == null)
{
reportItems = this.ComboBoxReports.Items;
}
return reportItems;
}
}
与[ContentProperty("ReportItems")]
属性。 ComboBoxReports是控件中的ComboBox,我不得不继承ItemsControl
以使其起作用。