2013-07-24 10 views
0

我已經構建了一個WPF ListView。此列表視圖正常工作並加載數據,但我遇到樣式問題。爲什麼我的列表視圖項目對它的一半有影子?

ListViewItem

所以在我的XAML代碼我有這樣的設置。

<Style TargetType="ListViewItem"> 
    <Style.Triggers> 
    <Trigger Property="IsSelected" Value="True"> 
     <Setter Property="Background" Value="Transparent" /> 
     <Setter Property="BorderBrush" Value="Transparent" /> 
    </Trigger> 
    <Trigger Property="IsMouseOver" Value="True"> 
     <Setter Property="Background" Value="Transparent" /> 
     <Setter Property="BorderBrush" Value="Transparent" /> 
    </Trigger> 
    </Style.Triggers> 
</Style> 

我想從項目本身的背景中刪除一切。注意物品頂部有多少灰色陰影?我還沒有能夠弄清楚如何去除ListViewItem本身的上半部分陰影。

而我試圖將目標IsMouseOver和IsSelected用於從項目中移除上半部淺灰色陰影顏色。我只是想讓背景完全透明。項目周圍的邊界都很好。

+0

該陰影是因爲樣式定義在某處。樣式與ListView不同。 http://stackoverflow.com/questions/2138200/change-background-color-for-selected-listbox-item/6835305#6835305 – Paparazzi

回答

1

嘗試設置他們,而不是爲null:

<Style TargetType="ListViewItem"> 
     <Style.Triggers> 
      <Trigger Property="IsSelected" Value="True"> 
       <Setter Property="Background" Value="{x:Null}" /> 
       <Setter Property="BorderBrush" Value="{x:Null}" /> 
      </Trigger> 
      <Trigger Property="IsMouseOver" Value="True"> 
       <Setter Property="Background" Value="{x:Null}" /> 
       <Setter Property="BorderBrush" Value="{x:Null}" /> 
      </Trigger> 
     </Style.Triggers> 
    </Style> 

編輯:

那種風格(就像光澤效果)使用GridView控件,您可能正在使用爲您的ListView的時候來視圖。有什麼理由不能使用ListBox嗎?

+0

這實際上給了我同樣的效果。另外值得注意的是,將其設置爲空值有一個巨大的性能問題。如果將鼠標懸停在項目底部,它將開始閃爍,導致CPU使用率爲50%。與Transparent一樣,閃爍不存在。就像未來任何人的一個便箋一樣。 – meanbunny

+0

我沒有看到使用ListBox。我在GridView中有列。 ListBox是否支持列? – meanbunny

+0

對不起,我錯過了你使用的列。使用自定義模板在技術上是可行的,但可能比它的價值更麻煩。 – TrueEddie

相關問題