我有一個WPF用戶控件,代表一個具有一些屬性的圓形儀表。當我直接在我的應用程序中使用它時,一切正常,但是當我在Expression Blend中加載它時,爲了測試它的屬性並模擬它工作的預期動畫,需要集合依賴屬性。問題是當我使用Expression Blend向集合屬性添加一些項目時 未設置「SetValue」!我究竟做錯了什麼?收集依賴屬性不起作用
public static readonly DependencyProperty RangesProperty =
DependencyProperty.Register("Ranges ", typeof(CircularRangeInfoList), typeof(UserControl1), new FrameworkPropertyMetadata(new CircularRangeInfoList()));
[Category("Test Collection")]
public CircularRangeInfoList Ranges
{
get { return (CircularRangeInfoList)GetValue(RangesProperty); }
set { SetValue(RangesProperty, value); }
}
public class CircularRangeInfoList : ObservableCollection<CircularRangeInfo>
{
public CircularRangeInfoList()
{
}
}
以及我是 有興趣收到集合以外的通知,我的意思是在我的UserControl1中。這樣,我已經設置了財產,它的工作,但只有一次...你是什麼意思我改變我的收藏和地點? – rsleiman
@rsleiman - 您說過「將一些物品添加到集合中」,這意味着您正在改變集合(即添加物品,移除物品,移動物品或替換物品)。如果您想知道集合何時更改,您必須使用CollectionChanged。當財產發生變化時,情況就不同了。 – CodeNaked
哦,我看到了,但是後來我更改了實例化我的自定義列表以支持CollectionChanged事件的代碼。它似乎工作正常。謝謝。 – rsleiman