私のリストボックスアイテムのアイテム間にセパレータを組み込む必要があります。例えば、 アイテムソース内のいくつかのアイテムがセパレータの下に配置され、その上に配置されます。例えばリストボックスにセパレータを組み込む
:
上記のListBoxののControlTemplateを変更することによって行われます。
<ScrollViewer>
<StackPanel>
<ItemsPresenter />
<Separator BorderBrush="Red" />
<ListBoxItem Content=".." ContentTemplate="..." x:Key="helpItem"/>
</StackPanel>
</ScrollViewer>
問題は、それがあるので、 "helpItem" が選択されないということです私のItemsSourceの一部ではありません。今では十分で選択することができるために
1)だから私は私のItemsSourceでこのアイテムを関連付けるまたは代わり はそれを選択可能にすることができるか、私の最初の質問は可能でしょうか?
さらに、より将来的に私はどのように私は物理的に私の項目の間の指定された場所にセパレータを配置します)私のリストボックス
2の 下半分に置かれる複数のアイテムを持っているかもしれませんwan't 、私の ItemsPresenterを論理的な場所に分割するかのように?
私も前にこれを持っていました。私は複数のリストボックスを積み重ね、それらのボーダーを設定して単一のリストボックスの*外観*を与えましたが、表面の下にはそれぞれ独自のアイテムソースがありました。唯一の手の込んだビットは、選択ジェスチャーを調整して、エンドユーザーの「経験」が1つのアイテムしか選択していないことを見ていた。 –
ちょっとそれを避けたい:) –
1つのコントロールを使用する場合は、まだ答えがあります:VirtualizingStackPanelからクラスを派生させ、独自のItemsControlGeneratorを実装します。私も前にそれをして、それがあなたが何をしているかを与えることを証明することができます。欠点として、私は完全に楽しい経験としてICGを書くことはしません。 :) –