私はカスタムのSilverlightコントロールを作成しました。これは、2つの日付ピッカーと1つのコンボボックスで構成されています。私はコンボボックスをデータバインド可能にしたいと思います。私はDependencyPropertyを利用する必要があることを知っています。私が確信していないのは、それを構築する方法です。Silverlightカスタムコントロールのプロパティをデータバインド可能にするにはどうすればいいですか?
#region ItemsSource (DependencyProperty)
/// <summary>
/// ItemsSource to bind to the ComboBox
/// </summary>
public IList ItemsSource
{
get { return (IList)GetValue(ItemsSourceProperty); }
set { SetValue(ItemsSourceProperty, value); }
}
public static readonly DependencyProperty ItemsSourceProperty =
DependencyProperty.Register("ItemsSource", typeof(int), typeof(DateRangeControl),
new PropertyMetadata(0));
#endregion
問題は、私が見てきたすべてのサンプルは、いずれかの文字列、int型、または色を期待テキストや背景ウィッヒのような単純な性質のためであるということです。ここで私が持っているコードです。私はコンボボックスのItemsSourceにバインドしようとしているので、IEnumerableを期待しています。このプロパティを構築する方法はわかりませんでした。私はIListを使いました。
私は正しい道を歩いていると私に知らせてくれますか?ありがとう
これを行うと、getとsetはまったく呼び出されません。 –
getとsetを呼び出す必要はありません。プロパティの実際の値は、自動的にどこに格納されます。 GetValueとSetValueがプロパティ内で使用され、DependancyPropertyシステムがそれを格納する場所から値を取得するのはこのためです。 – Sekhat