Pregunta

Estoy trabajando con una estructura de árbol usando WPF y el patrón MVVM. Empiezo a cabo mediante la creación de 20 nodos raíz y la carga diferida los nodos secundarios que se hace clic en cada nodo. Así, por ejemplo ... si tengo la siguiente:

Level 1
    Level 1.1
Level 2
Level 3
    Level 3.1
    Level 3.2

Niveles 1, 2 y 3 se cargan en tiempo de ejecución. Los niveles de 1.1, 3.1 y 3.2 no se cargaría hasta que se hace clic en sus respectivos padres. Los niveles por debajo de 1,1, etc se cargan de la misma manera, haciendo clic en sus padres.

Mi problema es cuando hago clic en el nivel 1.1 para cargar sus hijos, el método "CanExecute" está marcada para el nivel 1.1 y todos los elementos de nivel raíz para cada niño de Nivel 1.1. Esto causa un poco de pérdida de tiempo si hay muchos niños.

Mi pregunta es, ¿hay algún modo suprimir la llamada a "CanExecute"? No tengo ninguna necesidad de llamar como estos subniveles y me gustaría prescindir de ella. Soy muy nuevo en el marco MVVM así que no estoy seguro de si esto es posible.

¿Fue útil?

Solución

Si utiliza Prisma (Composite Application Guidance para WPF y Silverlight) 'DelegateCommand' en su modelo de vista, que tendrá que llamar explícitamente command.RaiseCanExecuteChanged siempre que lo desee CanExecute a ser llamado en él.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top