我想創建這樣一個列表框:創建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