DataGrid의 원본으로 사용되는 개체 목록이 있습니다. 이 오브젝트 목록은 상속 된 유형이 2 개 이상있는 기본 클래스 유형입니다. DataGrid의 열에 값으로 표시하기 위해 기본 클래스의 속성에 바인딩하려고합니다. 하위 클래스를 사용할 수있는 다른 속성을 사용할 수 있도록하고 싶습니다, 그래서 내 질문에, XAML 동적으로 가리키는 형식을 기반으로 바인딩 값을 변경할 수 있습니까? 잠재적으로 변환기를 사용하여이 일을 생각해 봤지만 올바르게 이해한다면 바인드해야하는 각 하위 클래스 속성마다 다른 변환기를 작성해야합니다. 모든 조언이나 제안을 부탁드립니다. 감사합니다형식에 따라 XAML 바인딩을 동적으로 변경하십시오.
0
A
답변
0
아마도 이것은 속성 및 일부 반사를 사용하여 다양한 열에 들어가야하는 속성을 표시 한 다음 그 속성을 자동 생성 할 수 있습니다. 가능한 모든 속성에 대한 열이있는 스파 스 격자를 만들 수도 있습니다. 리플렉션을 통해 가능해야하며 추가 메타 데이터가 필요하지 않습니다.
(할 수 있습니다 자동으로 만들 수 있습니다. 네이티브 DataGrid
이벤트가이 충분하지 않은 경우 연결된 속성 (like this)를 사용하여 항목에 따라 열을)
0
여러 DataTemplates을 정의하고를 통해 의도 유형을 지정 DataType 속성 바인드 된 오브젝트의 유형에 따라 올바른 템플리트가 선택됩니다. 이를 달성하기
https://msdn.microsoft.com/en-us/library/system.windows.datatemplate.datatype(v=vs.110).aspx
0
수단은 CellTemplateSelector 것이다. 이 부분을 참조하십시오. link.
관련 문제
- 1. Windows StoreApp XAML : 데이터 형식에 따라 GridView에서 ItemTemplate을 변경하십시오.
- 2. 데이터 형식에 따라 컨트롤을 동적으로 추가 WPF
- 3. 메시지에 따라 handleMessage에서 onClickListener를 동적으로 변경하십시오.
- 4. 사용자 입력에 따라 앱 이름을 동적으로 변경하십시오.
- 5. 내용에 따라 div의 높이를 동적으로 변경하십시오.
- 6. 문서 모드에 따라 스타일 시트를 동적으로 변경하십시오.
- 7. 데이터베이스에 따라 div의 색상을 동적으로 변경하십시오.
- 8. 조건에 따라 메뉴 옵션을 동적으로 변경하십시오.
- 9. gVim 창 크기에 따라 글꼴을 동적으로 변경하십시오.
- 10. WP7 - 설정에 따라 시작 페이지를 동적으로 변경하십시오.
- 11. 사용자 입력에 따라 런타임에 동적으로 dll을 변경하십시오.
- 12. 열의 기본 바인딩을 변경하십시오.
- 13. 동적으로 TextBlock의 텍스트 바인딩을 설정하십시오.
- 14. XAML 스타일로 바인딩을 재정의하려면 어떻게해야합니까?
- 15. Elisp : 조건부로 키 바인딩을 변경하십시오.
- 16. 이벤트에 따라 레이블의 배경색을 변경하십시오. XAML 작성된 응용 프로그램
- 17. 동적으로 필터 표현식을 변경하십시오.
- 18. "XBF"바이너리 XAML 형식에 대한 설명서가 있습니까?
- 19. swiftmailer 설정을 동적으로 변경하십시오.
- 20. Oracle datetime은 형식에 따라 비교합니다.
- 21. 형식에 따라 UITextField가 충돌 함
- 22. 형식에 따라 InfoPath 필드를 반복합니다.
- 23. 형식에 따라 다른 개체 만들기
- 24. UI 언어를 동적으로 변경하십시오.
- 25. 동적으로 dijit.form.NumberSpinner 범위를 변경하십시오.
- 26. 디렉토리의 템플릿을 동적으로 변경하십시오.
- 27. 동적으로 입력 유형을 변경하십시오.
- 28. 동적으로 Gtk.Entry의 배경색을 변경하십시오.
- 29. autoCompleteTextView의 커서를 동적으로 변경하십시오.
- 30. RequiredFieldValidator의 ControlToValidate를 동적으로 변경하십시오.
열이있는 DataGrid가 아닌 경우 이렇게하는 것이 좋습니다. –
글쎄, DataGrid가 실제로 필요한 컨트롤이 아니라는 것을 의미합니다. ListBox 및 템플릿만으로 손쉽게 멋진 것을 만들 수 있습니다. 각 "행"은 바인딩 된 유형에 맞게 표시됩니다. –
아마도. –