次のようなリストボックスを作成したい:
---|-----|-----|-----|-----|-----
| は、マージンを使用して区切ったリストボックス項目です。これはうまくいきます。私が欲しいのは、この行を含む背景を持つリストボックスです。または、少なくともバックグラウンドで使用してください。セパレーターを試しましたが、itemtemplate で使用したのでクリック可能であるため、それは私が望むものではありません。
何か案は?
ありがとう
コントロール テンプレートを含むスタイルを ListBox 項目に追加する必要があります。
<Style x:Key="{x:Type ListBoxItem}" TargetType="ListBoxItem">
<Setter Property="SnapsToDevicePixels" Value="true"/>
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border Name="Border"
BorderThickness="1,0"
BorderBrush="Black"
Padding="2"
SnapsToDevicePixels="true">
<ContentPresenter />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Border コントロールは、このタイプの装飾的な線を対象としています。辺の太さは独立して設定されるので、1 本の縦線には 1 つの辺だけを使用します。関連して、余白の代わりにレイアウトに Grid コントロールを使用してみましたか?
コントロールのようなタイムラインを作成しようとしています。これを使用して修正しました:
<ListBox.Template>
<ControlTemplate>
<Border BorderThickness="2" BorderBrush="Black">
<Grid>
<Rectangle Height="2" HorizontalAlignment="Stretch" VerticalAlignment="Center" Fill="Black"/>
<ScrollViewer Padding="{TemplateBinding Padding}">
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</ScrollViewer>
</Grid>
</Border>
</ControlTemplate>
</ListBox.Template>
これはテスト プロジェクトでは問題なく動作しますが、メイン プロジェクトでいくつかの問題が発生しています。長方形はスクロールビューアの下に残ります。うーん...進歩しています。このことをすぐに修正してください。
これまでのご回答ありがとうございます。