WPF绑定:如何在其属性的属性更改时使属性发生更改

3
我创建了一个类:
class StorageBase
{
    public Queue<Slices> Slices {get;set;}
}

一个WPF自定义控件,具有类型为StorageBase的依赖属性Storage:

public StorageBase Storage
        {
            get { return (StorageBase)GetValue(StorageProperty); }
            set { SetValue(StorageProperty, value); }
        }
        public static readonly DependencyProperty StorageProperty =
            DependencyProperty.Register("Storage", typeof(StorageBase), typeof(MaterialStreamControl), new UIPropertyMetadata(null, new PropertyChangedCallback(OnStoragePropertyChanged)));
        static void OnStoragePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            (d as MaterialStreamControl).Render();
        }

如果存储中的切片发生变化,我该如何重新呈现组件?
1个回答

1

第一种方法不起作用。当我将切片添加到Slices时,OnStoragePropertyChanged不会引发。第二种方法不适合,因为我只需要队列。 - Y.Yanavichus
你可以像使用队列一样使用ObservableCollection。或者,你可以创建自己的Queue类来实现IObservableCollection。 - Jonathan Allen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接