我需要在我的ListBoxItems中的項目之間加入一個分隔符,例如 ,其中項目源中的某些項目將放置在分隔符下方並且位於其上方。在列表框中包含分隔符
例如:
以上是通過改變ListBox的控件模板做:
<ScrollViewer>
<StackPanel>
<ItemsPresenter />
<Separator BorderBrush="Red" />
<ListBoxItem Content=".." ContentTemplate="..." x:Key="helpItem"/>
</StackPanel>
</ScrollViewer>
的問題是,「helpItem」沒有得到選擇,因爲它是不是我的ItemsSource的一部分。
現在能夠選擇就足夠
1)所以,我的第一個問題是我怎麼能這個項目與我的ItemsSource或關聯或者 使其可選擇?
進一步將來我可能wan't有更多的項目將放在在 我的列表框中
2)我怎麼會在空間上的分隔在我的項目之間某個地點的下半部分,好像要將我的 ItemsPresenter劃分爲邏輯點?
我以前也是這樣。我堆疊了多個列表框,並設置了它們的邊框,使其具有單個列表框的*外觀,但在表面之下,每個列表框都有自己的項目源。唯一棘手的問題是協調選擇手勢,以便最終用戶的體驗只能看到一個選定的項目。 –
有點想避免:) –
如果你想使用一個控件,你仍然有一個答案:從VirtualizingStackPanel派生一個類,併爲它實現你自己的ItemsControlGenerator。我之前也這樣做了,可以證明它會給你以後的。不利的一面是,我不會把ICG寫成完全愉快的經歷。 :) –