2010-08-23 5 views
0

Voici une hiérarchie de ma classe MyContainer. Notez que le Panel a un Children ainsi que MyContainer. Puis-je continuer à utiliser le Children de Panel?Silverlight ContentProperty on abstract class Panneau

Quelle est la signification de [ContentProperty("Children", true)]? Le résumé explique:

Indique que la propriété d'une classe peut être interprétée comme le contenu propriété lorsque la classe est analysée par un processeur XAML.

Mais je ne comprends pas ce qu'il veut dire?

[ContentProperty("Children", true)] 
public abstract class Panel : FrameworkElement 
{ 
    // 
    // Summary: 
    //  Gets the collection of child elements of the panel. 
    // 
    // Returns: 
    //  The collection of child objects. The default is an empty collection. 
    public UIElementCollection Children { get; } 
} 

public class Canvas : Panel 
{....} 

public class MyContainer : Canvas 
{ 

    public MyContainer(); 

    public ObservableCollection<MyObject> Children {get;} 
} 

Répondre

1

L'attribut ContentProperty signifie que les deux éléments suivants sont équivalents - la propriété Enfants de toile est le contenu par défaut de la toile.

<Canvas> 
    <TextBlock Text="Hello"/> 
    <Button Content="World"/> 
</Canvas> 

<Canvas> 
    <Canvas.Children> 
     <TextBlock Text="Hello"/> 
     <Button Content="World"/> 
    </Canvas.Children> 
</Canvas> 
Questions connexes