2010-01-14 3 views
0

다른 목록을 사용하는 usercontrol을 만들고 싶습니다. 이러한 개체는 디자인 타임에 컨트롤에 할당됩니다. 이제 linq를 사용하여 usercontrol 내부에서이 목록을 정렬하기 위해 객체에 객체를 추가 할 수있게하려고합니다. 아무도 그것에 대해 갈 방법으로 어떤 아이디어를 줄 수 있습니까?일반 목록을 WPF 사용자 정의 컨트롤에 전달

답변

3

ObservableCollection<T> 유형의 DependencyProperty을 사용자 컨트롤 클래스에 추가하십시오 (예 : MyItemsSource). 당신의 XAML을 포함, 귀하의 LINQ 컬렉션에 해당 속성을 결합하고, 사용자 정의 컨트롤 내부에 결합하여 다음과 같은 특성에 ListBox (또는 다른 ItemsControl) :

{Binding 
    RelativeSource={RelativeSource 
         Mode=FindAncester, 
         AncestorType=UserControl}, 
    Path=MyItemsSource} 

을 다른 방법으로, 당신은 내부의 Name 속성을 설정할 수 있습니다 ElementName 대신 같은 RelativeSource에 대한 사용자 예를 MyUserControl에 가기 레벨 요소합니다 (UserControl 요소)에 대한 제어 및 바인드 :

{Binding ElementName=MyUserControl, Path=MyItemsSource} 
+0

하지만 난 공공 공유 NickNa처럼 선언해야 wouldnt한다 DependencyProperty에로 mesProperty = _ DependencyProperty.Register ("별명",()) MyObjectOne의 GetType을 (ObservableCollection에, GetType을 (합니다 MyType)) 하지만 컨트롤을 만들 때, 나는 인 myObject의 유형에 대한 아무 생각이 없습니다. 유연하게 만들고 다른 유형의 객체 목록을 바인딩하려고합니다. – Farax

+0

오 예, 물론 이것은 지정된 인수가있는 제네릭 형식입니다. 어떤 객체의 집합을 전달할 수있게하려면, 그것을 ObservableCollection (Of Object)로 설정해야합니다. –

관련 문제