我想創建一個從標準網格派生的自定義控件。 我添加了一個ObservableCollection作爲自定義控件的DependencyProperty。但是,它的獲取/設置從未達到。我可以在創建與ObservableCollection一起正確使用的DependencyProperty方面有一些指導嗎?DependencyProperty getter/setter未被調用
public class MyGrid : Grid
{
public ObservableCollection<string> Items
{
get
{
return (ObservableCollection<string>)GetValue(ItemsProperty);
}
set
{
SetValue(ItemsProperty, value);
}
}
public static DependencyProperty ItemsProperty =
DependencyProperty.Register("Items", typeof(ObservableCollection<string>),
typeof(MyGrid), new UIPropertyMetadata(null, OnItemsChanged));
}
observablecollection應該在您的viewmodel中,而不是您的控件... – thumbmunkeys 2012-02-03 10:15:31
它已經在我的viewmodel中。但是,我如何將它傳遞給網格?網格不應該知道如何處理集合嗎? – phm 2012-02-03 10:18:07
您可以將依賴項屬性定義爲IEnumerable,如[ItemsControl.ItemsSource](http://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol.itemssource.aspx)。或者發佈你的代碼,這樣有人可能會發現它有什麼問題。 – Clemens 2012-02-03 10:27:24