我想创建这样一个列表框:创建ListBoxItems(水平方向的列表框)之间的水平线
----- | ----- | ----- | ----- | ----- | -----
|是我用列表分隔的listboxitems。这工作正常。我想要的是具有包含此行的背景的列表框。或者至少在后台进行。我尝试了一个分隔符,但这不是我想要的,因为我在itemtemplate中使用它也是可点击的。
任何想法?
感谢
我想创建这样一个列表框:创建ListBoxItems(水平方向的列表框)之间的水平线
----- | ----- | ----- | ----- | ----- | -----
|是我用列表分隔的listboxitems。这工作正常。我想要的是具有包含此行的背景的列表框。或者至少在后台进行。我尝试了一个分隔符,但这不是我想要的,因为我在itemtemplate中使用它也是可点击的。
任何想法?
感谢
我想创建一个像控件一样的时间线。我现在用这个固定:
<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>
这工作正常,在testproject,但我有我的主要项目的一些问题。该矩形保留在滚动查看器下。那么......进展。希望尽快解决这个问题。
感谢您的回答!
您必须添加一个风格控件模板到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>
边境控制是用于这种类型的装饰线。侧面的厚度是独立设置的,所以只用一条垂直线。在相关说明中,您是否尝试过使用网格控件来进行布局而不是边距?
我没有试试Sinthia。我正在根据时间差异设置左边距。 – hutsend 2012-07-26 07:59:27
只需在* ScrollViewer之后放置矩形* – GameAlchemist 2012-07-26 10:07:45
垂直项目必须位于顶部:-)适用于测试项目,而不适用于其他代码。当我有时间的时候,我会让xaml看看。 – hutsend 2012-07-26 12:45:09
请注意,如果您希望模板的一部分不可点击,您可以使用IsHitTestVisible = False – GameAlchemist 2012-07-26 13:09:28