私は、いくつかのプロパティを持つ円形ゲージを表す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