2009-07-22 7 views
1

내부적으로 BindingList를 사용하여 사용자 지정 그리드에 표시되는 계정 개체를 추적하는 사용자 지정 컨트롤을 만들었습니다. DependencyProperty를 내 컨트롤에 추가하여 내 컨트롤과 데이터 모델간에 TwoWay 바인딩을 허용하는 List에 대한 설정/가져 오기를 추가하려고합니다. 내 컨트롤을 초기화하고 BindingList 업데이트로 인해 업데이트를 가져올 수 있도록 해당 목록을 설정할 수 있어야합니다. 즉, 필자는 List from DependencyProperty와 내부 BindingList 사이의 변환을 제공해야하며, 반대의 경우도 마찬가지입니다 (내 컨트롤이 데이터 소스에서 처음 바인딩되는지 또는 데이터 소스가 내 컨트롤의 BindingList 변경을 기반으로 업데이트되는지에 따라 다름).사용자 지정 컨트롤 및 종속성 속성

웹에서 찾은 예제는 DependencyProperties에 설정된 목록과 직접 작업하는 컨트롤을 다루고 있습니다. 제 경우에는 BindingList가 DependencyProperty의 목록과 꼭 필요한 것은 아니기 때문에 원하는 수준의 indirecion을 갖고 싶습니다.

+0

예를 들어 주시겠습니까? –

답변

0

어떻게 BindingList가 동일하지 않습니까? C#이 작동하는 방식은 다음과 같습니다.

myControl1.List = list1; 

위 정의의 의미는 값을 설정할 속성이며 설정 후에도 동일합니다.

일반적인 일반 C# 클래스의 설정자에서 재미있는 논리를 만들 수 있지만 DependencyProperty는 미리 정의 된 개념이므로 정상에서 벗어날 수는 없습니다.

0

내부적으로 사용하고있는 BindingList는 내부 구현을 외부 속성에 노출하고 싶지 않기 때문에 노출하려고하는 DependencyProperty의 목록과 다릅니다.

복잡한 컨트롤에는 데이터를 보유하기 위해 고유 한 BindingLists가 필요한 여러 개의 그리드 등이있을 수 있습니다. My DependencyProperty는 다음에 사용됩니다. 1) 일부 데이터로 사용자 정의 컨트롤을 초기화하십시오. 2) 사용자 입력을 기반으로 새 목록을 모델에 다시 설정하십시오.

관련 문제