Sto cercando di costruire un wich UserControl è in grado di prendere elementi da XAML come questo:Come creare ComboBox come UserControl in WPF
<ComboBox >
<ComboBoxItem />
<ComboBoxItem />
<ComboBoxItem />
</ComboBox>
Nel ComboBox
, si può solo aggiungere gli elementi tra il ComboBox
tag, e vorrei copiare questo, ma non so da dove cominciare.
finito dovrebbe essere così:
<cis:ReportControl Grid.Row="3">
<cis:ReportItem />
</cis:ReportControl>
Nel cis:ReportControl
, ci sono alcune Button
s ed un ComboBox
, e fondamentalmente solo voglio alimentare la ComboBox
con elementi.
Il Riporta articolo è solo un ComboBoxItem
con alcune proprietà in più.
Edit:
Ho implementato secondo le @Snowbears risposta, ma il problema ora è che il controllo stesso ha come un elemento. Penso che questo è perché ho alcuni contenuti, e definendo il ContentProperty
al mio ComboBox
, viene reindirizzato nella scatola. Cosa posso fare per evitare questo?
Edit II:
Funziona pienamente ora con questo:
private ItemCollection reportItems;
public ItemCollection ReportItems
{
get
{
if (reportItems == null)
{
reportItems = this.ComboBoxReports.Items;
}
return reportItems;
}
}
con il [ContentProperty("ReportItems")]
attributo. ComboBoxReports è il ComboBox nel controllo e ho dovuto ereditare da ItemsControl
per farlo funzionare.