2009-03-10 12 views
6

Tengo un formulario WPF con un ListBox de elementos vinculados a un método que obtiene los elementos para el cuadro de lista. Lo que quiero es un elemento adicional en la parte superior del ListBox que se comporte de manera diferente al resto de los elementos.¿Cómo puedo agregar un elemento adicional a un ListBox de WPF usando ItemSource?

Por ejemplo, digamos que tengo una lista de Autores (enlazados a una Lista), y cuando selecciono un autor, se completa otro cuadro de lista con libros de ese autor. Me gustaría tener un elemento adicional en el cuadro de lista lstAuthors titulado Mostrar todo, que rellenará el otro cuadro de lista con todos los libros. ¿Cómo puedo agregar este elemento adicional a mi listbox?

Respuesta

9

Use CompositeCollection para combinar su colección, con otra colección que contenga su artículo especializado. Luego, use un datatemplate fuertemente tipado para su opción especial de seleccionar todo que haga lo que quiera en esa sección.

Otras opciones incluyen la desactivación de desplazamiento en la vista de lista, poniendo la vista de lista dentro de un StackPanel, junto con su selecto de todo, y luego colocar ese panel en una pila ScrollViewer, o simplemente poner un botón en la interfaz de usuario :)

Cuestiones relacionadas