2009-03-19 19 views
15

Ich erstelle ein UserControl und ich kann mich einfach nicht an den Namen des Attributs erinnern, mit dem Sie die Eigenschaft dekorieren, die Sie als Standard-Inhaltseigenschaft verwenden möchten.WPF - UserControl default Inhaltsattribut

ein konkretes Beispiel zu nennen, sagen, dass ich eine Eigenschaft haben, ‚Titel‘ genannt, die ich mit Eigenschaft Syntax wie folgt einstellen -

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

Aber die Verbraucher der Steuer möchten Element Syntax wie folgt verwenden -

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

ich weiß, es ist ein Attribut, das ich mit auf die Eigenschaft Titel hinzufügen muß diese Unterstützung zu aktivieren, aber ich habe vergessen, was es ist, und kann es nicht überall.

Kann jemand mein Gedächtnis für mich auffrischen? Außerdem suche ich nach einem ähnlichen Attribut, das auf CustomControls wirkt, die von ItemsControl erben.

Antwort

7

Ich fand auch den Code für Sammlungen als Inhalt Eigenschaft auf MSDN unterstützen. TOM_C ist dafür zu danken.

[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>