Tôi cần kết hợp dấu phân tách giữa các mục trong ListBoxItems của tôi ví dụ trong đó một số mục trong nguồn mục của tôi sẽ được đặt bên dưới dấu tách và một số ở trên dấu phân tách.Kết hợp dấu tách trong hộp danh sách
Ví dụ:
Trên đây được thực hiện bằng cách thay đổi ControlTemplate của ListBox:
<ScrollViewer>
<StackPanel>
<ItemsPresenter />
<Separator BorderBrush="Red" />
<ListBoxItem Content=".." ContentTemplate="..." x:Key="helpItem"/>
</StackPanel>
</ScrollViewer>
Vấn đề là rằng "helpItem" không được chọn vì nó là không phải là một phần của ItemsSource của tôi.
Còn bây giờ việc có thể để chọn nó sẽ đủ
1) Vì vậy, câu hỏi đầu tiên của tôi sẽ là làm thế nào tôi có thể kết hợp mặt hàng này với ItemsSource tôi hoặc cách khác làm cho nó thể lựa chọn?
Hơn nữa trong tương lai tôi có thể wan't để có nhiều mặt hàng mà sẽ được đặt trong nửa dưới của hộp danh sách của tôi
2) Làm thế nào tôi sẽ thể chất đặt một tách ở một nơi nhất định giữa các mục của tôi , như để chia ItemsPresenter của tôi ở vị trí hợp lý?
Tôi đã có điều này trước đây. Tôi xếp chồng lên nhau nhiều hộp danh sách và đặt đường viền của chúng sao cho nó xuất hiện * của một hộp danh sách duy nhất, nhưng bên dưới bề mặt mỗi lb có nguồn mục riêng của nó. Bit khó khăn duy nhất là phối hợp các cử chỉ lựa chọn sao cho trải nghiệm của người dùng cuối chỉ thấy một mục được chọn. –
kinda muốn tránh điều đó :) –
Nếu bạn muốn sử dụng một điều khiển duy nhất, vẫn còn một câu trả lời cho bạn: lấy được một lớp từ VirtualizingStackPanel và triển khai ItemsControlGenerator của riêng bạn cho nó. Tôi đã làm điều đó trước khi và có thể chứng thực nó sẽ cung cấp cho những gì bạn đang sau. Mặt khác, tôi sẽ không viết một ICG như một trải nghiệm hoàn toàn dễ chịu. :) –