標準グリッドから派生したカスタムコントロールを作成しようとしています。 カスタムコントロールのDependencyPropertyとしてObservableCollectionを追加しました。しかし、そのget/setは決して達成されません。 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はあなたのコントロールではなく、あなたのビューモデルにあるはずです。 – thumbmunkeys
これは既に私のビューモデルに入っています。しかし、どのようにグリッドに渡すのですか?グリッドはコレクションを扱う方法も知ってはいけませんか? – phm
[ItemsControl.ItemsSource](http://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol.itemssource.aspx)のように、依存関係プロパティをIEnumerableとして定義できます。誰かが何が間違っているのかを見ることができるように、コードを投稿してください。 – Clemens