Bonjour,

Je souhaite créer un contrôle qui est une ListBox personnalisée. Pour cela, je ne souhaite pas hériter directement de ListBox mais de Grid (la Grid contiendra ensuite une ListBox).

Je veux que l'utilisateur de ce contrôle puisse y ajouter ses propres élements comme il l'aurait fait avec une ListBox.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<ListBox>
            <ListBoxItem Content="Element Un"/>
            <ListBoxItem Content="Element Deux"/>
        </ListBox>
Mon problème est que je ne sais pas comment faire pour que l'utilisateur puisse créer cette liste d'élements en xaml.

Pour l'instant j'ai créé une propriété attachée mais celle ci n'est pas visible en xaml.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
public abstract class MyControl : Grid
    {
        public DependencyProperty ItemsProperty;
 
        private PropertyMetadata itemsMetaData = new PropertyMetadata(new ItemsControl());
 
        public MyControl () 
            : base ()
        {
            ItemsProperty = DependencyProperty.RegisterAttached("Items", typeof(ItemsControl), typeof(MyControl), itemsMetaData);
        }
 
    }
Est ce que la propriété attachée est la bonne solution? Si oui, comment la rendre visible en xaml? Si non, pourriez vous m'aider?