2010-03-25 64 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