2009-03-19 6 views
15

Sto creando un controllo utente e non riesco a ricordare il nome dell'attributo che si utilizza per decorare la proprietà che si desidera agire come proprietà del contenuto predefinito.WPF - UserControl attributo predefinito di contenuto

Per fare un esempio concreto, che ho una proprietà chiamata 'Titolo', che posso impostare utilizzando la sintassi proprietà come questa -

<local:myControl Title="the title"/> 

Ma il consumatore del controllo può decidere di utilizzare la sintassi elemento come questo -

<local:myControl> the Title </local:myControl> 

So che c'è un attributo che ho bisogno di aggiungere alla proprietà Title con per abilitare questo supporto, ma ho dimenticato quello che è e non riesce a trovare da nessuna parte.

Qualcuno potrebbe rinfrescarmi la memoria per me? Inoltre, sto cercando un attributo simile per agire su CustomControls che eredita da ItemsControl.

risposta

7

Ho anche trovato il codice per supportare le collezioni come la proprietà dei contenuti su MSDN. TOM_C deve ringraziare per questo.

[ContentProperty("SomeObjects")] 
public class SomeContainer 
{ 


private List<SomeObject> _someObjects; 

public List<SomeObject> SomeObjects 
{ 

    get 
    { 

     if (null == _someObjects) 
     { 

      _someObjects = new List<SomeObject>(); 

     } 

     return _someObjects; 

    } 

} 

XAML: 
<SomeContainer> 

    <SomeObject/> 
    <SomeObject/> 
    <SomeObject/> 

</SomeContainer>