2010-03-25 68 views
4

虽然Resview GridView(具有更多列的ListView),但我遇到了一个问题,我无法更改突出显示行的颜色。我搜索了互联网,发现,添加这可以帮助。在GridView模式下的WPF ListView突出显示问题

<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" 
       Color="Transparent" /> 
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" 
       Color="Transparent" /> 

这解决了这个问题的一些人,但它并没有帮助我。突出显示颜色仍然处于系统默认值。我终于设法改变了所选行的颜色,但突出显示在行的边界附近仍然可见,另外我还需要摆脱ColumnHeaders中的突出显示。

继承人的代码,我的方法是行不通的:

<ListView > 
<ListView.Resources> 
    <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" 
        Color="Transparent" /> 
    <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" 
        Color="Transparent" /> 
</ListView.Resources> 
<ListView.View> 
    <GridView> 
    <GridViewColumn Header="a"/> 
    <GridViewColumn Header="b"/> 
    </GridView> 
</ListView.View> 
<ListViewItem>sth</ListViewItem> 
<ListViewItem>sthelse</ListViewItem> 
</ListView> 

回答

0

如果我才真正明白,要删除高亮颜色。 如果你想这样做,这很简单。使用这种风格:

<Style x:Key="SimpleListViewItem" TargetType="ListViewItem"> 
     <Setter Property="FocusVisualStyle" Value="{x:Null}" /> 
</Style> 

但使用这种风格,你必须使用该风格的ItemContainerStyle属性。

我希望这个解决方案可以帮助你。

关于启

+0

已将此添加到ItemContainerStyle但仍GridView的抵制。 ListView可以很好地适应这种变化(但是即使我的解决方案设法解决了正常的列表视图)。 :-( – user286405 2010-04-04 19:49:50

+0

你可以发布你的代码!(关于gridview的完整代码) – Rev 2010-04-05 04:38:26