WPF自定义控件与子ItemsControl不显示项目

时间:2017-02-07 11:22:13

标签: c# wpf itemscontrol

我创建了一个复杂的自定义控件,它既使用了继承控件的Items属性,又使用了其他嵌入式SubItems的{​​{1}}。请在下面找到剥离的代码提取:

ItemsControl

使用以下模板(来自Generic.xaml):

public class MyControl : ItemsControl
{
    public static readonly DependencyProperty SubItemsProperty = DependencyProperty.Register("SubItems", typeof(ObservableCollection<object>), typeof(MyControl), new PropertyMetadata(null));

    public ObservableCollection<object> SubItems
    {
        get { return (ObservableCollection<object>)GetValue(SubItemsProperty); }
        set { SetValue(SubItemsProperty, value); }
    }

    public MyControl() : base()
    {
        SubItems = new ObservableCollection<object>();
    }

    static MyControl()
    {
        DefaultStyleKeyProperty.OverrideMetadata(typeof(MyControl), new FrameworkPropertyMetadata(typeof(MyControl)));
    }
}

项目将动态添加到<Style TargetType="{x:Type my:MyControl}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type my:MyControl}"> <Grid> <ItemsControl ItemsSource="{Binding SubItems, RelativeSource={RelativeSource TemplatedParent}}"/> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style>

控件在控件的构造函数中运行正常,SubItems Collection设置为非空集合。例如,通过设置SubItems。这可能是什么原因?

0 个答案:

没有答案