저는 두 개의 날짜 선택기와 콤보 박스로 구성된 사용자 정의 실버 라이트 컨트롤을 만들었습니다. 콤보 박스를 데이터 바인딩 가능하게 만들고 싶습니다. 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