Ho bisogno di incorporare un separatore tra gli elementi nel mio ListBoxItems ad esempio dove alcuni elementi nella mia fonte di articoli sarebbero posizionati sotto il separatore e alcuni sopra di esso.Incorporare un separatore nella casella di riepilogo
Ad esempio:
Quanto sopra è fatto alterando la ControlTemplate del ListBox:
<ScrollViewer>
<StackPanel>
<ItemsPresenter />
<Separator BorderBrush="Red" />
<ListBoxItem Content=".." ContentTemplate="..." x:Key="helpItem"/>
</StackPanel>
</ScrollViewer>
Il problema è che il "helpItem" non essere selezionato dal momento che è non fa parte del mio ItemsSource.
Per ora essere in grado di selezionare basterebbe
1) Quindi la mia prima domanda sarebbe come potrei associare questo articolo con la mia ItemsSource o in alternativa renderlo selezionabile?
ulteriormente più in futuro potrei wan't per avere più elementi che verrebbero messi in metà inferiore della mia casella di riepilogo
2) Come potrei fisicamente mettere un separatore in un dato luogo tra i miei oggetti , come se dovessi dividere il mio ItemPresenter in un punto logico?
Ho avuto anche questo prima. Ho accatastato più listbox e impostato i loro bordi in modo tale da dare l'* aspetto * di una singola listbox, ma al di sotto della superficie ogni lb aveva la propria fonte di elementi. L'unica cosa difficile era coordinare i gesti di selezione in modo che l''esperienza' dell'utente finale vedesse solo un elemento selezionato. –
kinda voleva evitare che :) –
Se si desidera utilizzare un singolo controllo, c'è ancora una risposta per voi: derivare una classe da VirtualizingStackPanel e implementare il proprio ItemsControlGenerator per esso. L'ho fatto anche prima e posso attestare che darà quello che cerchi. Al rovescio della medaglia, non metterei scritto un ICG come un'esperienza del tutto piacevole. :) –