列表视图的默认滚动条显示在右侧。我设计了一种新风格,并希望它与listview控件分开。您在图像中看到的是我现在如何使用混合设置它。
那么如何将自定义滚动条链接到列表视图?我正在使用Blend 4。
列表视图图片位于此处:
http://i141.photobucket.com/albums/r69/thebirdbath/scroll.jpg
答案 0 :(得分:1)
我不确定您是否要将样式添加到ScrollViewer
的{{1}}内的Template
,或者如果您要禁用ListView
并放置ScrollViewer
单独ListView
中的ScrollViewer
。
要将Style
应用于ScrollViewer
中的Template
并将ScrollBar
放在左侧,您可以在使用{{{}时修改默认Template
1}}。它需要引用 PresentationFramework.Aero
GridView
上设置FlowDirection="RightToLeft"
以将其置于左侧ScrollViewer
和FlowDirection="LeftToRight"
上设置ItemsPresenter
,因为他们将继承GridViewHeaderRowPresenter
RightToLeft
与内容之间的透明空间,请为ScrollViewer
设置Background="Transparent"
,并在ListView
上设置所需的Background
< / LI>
ItemsPanel
控制透明空间,例如Padding
看起来像这样
Padding="0,0,10,0"
答案 1 :(得分:0)
好的,非常接近。它的工作,但我丢失了我的列标题。另外,我无法在条形图和列表视图之间获得透明度。就像酒吧仍然附着,我希望它们看起来像是分开的。 (请参阅我原始图片的链接)
这非常有帮助。几乎就在那里!
我的代码如下。
<ListView
AlternationCount="2"
Padding="0,0,10,0"
Shared:GridViewSort.AutoSort="True"
Shared:GridViewSort.ShowSortGlyph="True"
ItemsSource="{Binding Contents}"
SelectionMode="Extended"
Background="Transparent"
Foreground="White"
SelectionChanged="ListBoxSelectionChanged"
BorderThickness="0"
ItemContainerStyle="{DynamicResource ListViewItemStyle}"
Style="{DynamicResource ListViewStyle1}" Margin="0" VerticalAlignment="Top">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Background="Transparent"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.Template>
<ControlTemplate TargetType="{x:Type ListView}">
<MS_Themes:ListBoxChrome x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" RenderMouseOver="{TemplateBinding IsMouseOver}" RenderFocused="{TemplateBinding IsKeyboardFocusWithin}" SnapsToDevicePixels="true">
<ScrollViewer Padding="{TemplateBinding Padding}"
Style="{DynamicResource ScrollViewerKey}"
FlowDirection="RightToLeft">
<ScrollViewer.Resources>
<Style TargetType="GridViewHeaderRowPresenter">
<Setter Property="FlowDirection" Value="LeftToRight"/>
</Style>
</ScrollViewer.Resources>
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
FlowDirection="LeftToRight"/>
</ScrollViewer>
</MS_Themes:ListBoxChrome>
<ControlTemplate.Triggers>
<Trigger Property="IsGrouping" Value="true">
<Setter Property="ScrollViewer.CanContentScroll" Value="false"/>
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Background" TargetName="Bd" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</ListView.Template>