2010-06-04 8 views

답변

2

WPF는 제네릭 클래스의 인스턴스를 포함하여 CLR 개체 (또는 CLR을 통해 노출 된 COM 개체)에 바인딩 할 수 있습니다. 개체는 선택적으로 INotifyPropertyChanged 또는 DependencyObject 하위 클래스를 구현하여 해당 속성의 변경 내용을 바인딩에서 검색 할 수 있습니다. 그렇지 않은 경우 바인딩이 평가 될 때 속성 값이 한 번 복사되지만 업데이트되지 않습니다.

기술적으로 WPF는 "클래스에 바인딩"하지 않습니다.이 클래스는 해당 클래스의 인스턴스 인 개체에 바인딩됩니다. 따라서 귀하의 질문에 대한 대답은 "아니오"일 것입니다. 그러나 제네릭 클래스의 인스턴스에 바인딩 할 수 있는지 묻는 것이라고 가정합니다.이 경우 응답은 "예"입니다.

WPF에는 제네릭 클래스와 관련하여 제한이 있습니다. XAML 파서는 {x:Type } 태그 확장 내에서 참조 할 수 없으므로 대부분의 경우 XAML에서 일반 클래스 및 참조의 구체적인 하위 클래스를 만들어야합니다 XAML에서. 단, XAML의 가장 바깥 쪽 요소는 x:TypeArguments 특성을 사용하여 제네릭 클래스를 지정할 수 있습니다.

1

, 왜하지 않을까요? Class<T>은 유형 일뿐입니다. 잘 바인딩해야합니다.

1

WPF는 CLR 개체에 바인딩 할 수 있습니다. 노출되는 속성은 알림 (ala, INotifyPropertyChanged)을 지원해야하며 해당 속성을 처리하는 유형 (ala, ObservableCollection)이어야합니다.

해당 사항이있는 경우 개체가 데이터를 제공하는 데 적합해야합니다.

관련 문제