creating custom itemscontrol

后端 未结 1 975
时光说笑
时光说笑 2021-02-03 14:24

I\'m trying to create a custom control derived from ItemsControl. The ItemsControl is initialized with items, but they are not shown.

t

1条回答
  •  长情又很酷
    2021-02-03 15:08

    You need to set the ItemsSource. So, for example, you could add ItemsSource = Checkers; below the last Checkers Add line. Even though you're trying to set the ItemsSource to Checkers in the style, I think it would be easier if you set in the control class. Just my two cents, though.

    Here's an example of the PipeControl class:

    public class PipeControl : ItemsControl
    {
        public ObservableCollection Checkers { get; set; }
        static PipeControl()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(PipeControl), new FrameworkPropertyMetadata(typeof(PipeControl)));
        }
        public PipeControl()
        {
            Checkers = new ObservableCollection();
            Checkers.Add(new Checker());
            Checkers.Add(new Checker());
            Checkers.Add(new Checker());
            Checkers.Add(new Checker());
            Checkers.Add(new Checker());
            ItemsSource = Checkers;
        }
    }
    

    You also need an ItemsPresenter in your ControlTemplate and your Ellipse needs a width and height. Here's an updated style for you:

    
    

    0 讨论(0)
提交回复
热议问题