Descargar DevExpress v20.1 versión completa DevExpress v20.1 Adquisición de recursos chinos
Con DevExpress WPF Controls , puede crear aplicaciones basadas en XAML con potentes funciones interactivas que se centran en las necesidades de los clientes contemporáneos y crear una nueva generación de soluciones táctiles en el futuro.
Antecedentes del sistema
- Plataforma: WPF
- Producto: DXTreeList para WPF
- Marco: .NET Framework compilación 20.1.4
- Sistema operativo: Windows 10 x64
- IDE: Microsoft Visual Studio 2019
Problemas encontrados
Cuando use TreeListView para lograr una solución para mostrar datos estructurados, use IChildNodesSelector para construir un árbol. Cuando funciona correctamente, hay un modelo, cada nivel puede tener múltiples SubTipos, ClassA tiene miembros List ClassB y List ClassC. Se encuentra que todos los ejemplos solo mencionan un subtipo posible En cuanto a la visualización, todas las clases implementan una interfaz, la cual está mapeada al atributo correspondiente de la clase.
ITreeBaseItem de interfaz pública { string ObjectType {get; } elemento de cadena {get; } título de cadena {get; } string Detail1 {obtener; } string Detail2 {obtener; } string Detail3 {obtener; } }
El extracto está tomado de aquí.
Public class CustomChildrenSelector: IChildNodesSelector { public IEnumerable SelectChildren (elemento de objeto) { if (elemento es ProjectStage) return ((ProjectStage) elemento) .Tasks; else if (el elemento es ProjectObject) return ((ProjectObject) elemento) .Etapas; devolver nulo; } }
La pregunta es: ¿Qué pasa si la clase ProjectStage no solo tiene tareas, sino también otro subtipo, a saber, objetivos? ¿Se puede hacer esto usando IChildNodesSelector, o debo continuar con otras estrategias?
solución:
Técnicamente, puede fusionar estas colecciones en un selector y devolver el resultado. Puede consultar el método que se muestra a continuación: Cómo: implementar el enlace de datos jerárquico mediante el selector de nodos secundarios . También debe deshabilitar la edición de diferentes tipos de atributos faltantes y usar CellTemplateSelector para implementar este método.
DevExpress Technical Exchange Group 2: 775869749 Bienvenido a unirse a la discusión grupal