Desarrollo de la interfaz de WPF: cómo mostrar elementos en diferentes colecciones como elementos secundarios del mismo nodo principal

40 minutos para enseñarle cómo comenzar con DevExpress v20.1, el último diagrama de Gantt de control, regístrese ahora >>

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

Desarrollo de interfaz de interfaz de usuario de gama alta de Huidu

Supongo que te gusta

Origin blog.csdn.net/AABBbaby/article/details/108355919
Recomendado
Clasificación