我試圖在我的列表視圖中設置項目的樣式。我有包含在WrapPanel中的項目,並且我已經爲ListViewItems添加了一些樣式。當鼠標懸停在項目上時,該項目變爲黃色。然而,這個愚蠢的盒子出現在我的物品周圍,我無法弄清它來自哪裏,所以我可以隱藏它或使它變成黃色。有人可以給我一個提示嗎? 這裏是我的項目是什麼樣子: WPF-使用鼠標在其上設置listviewitem - 奇怪的框顯示
我使用的風格是這樣的:
<Trigger Property="IsMouseOver" Value="true">
<Trigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource HoverOff}" x:Name="HoverOff_BeginStoryboard" />
</Trigger.ExitActions>
<Trigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource HoverOn}" />
</Trigger.EnterActions>
<Setter Property="Foreground" Value="{DynamicResource Office2010BlueButtonHighlightAndPressedForegroundBrush}" />
</Trigger>
ListView控件標記:
<ListView ItemsSource="{Binding SearchResults}" >
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" MaxWidth="{Binding ActualWidth, ElementName=ResultsViewGrid}" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<ListViewItem Style="{StaticResource ListViewItemStyle}">
<Grid Width="320">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="20"></RowDefinition>
<RowDefinition Height="20"></RowDefinition>
<RowDefinition Height="20"></RowDefinition>
<RowDefinition Height="20"></RowDefinition>
<RowDefinition Height="20"></RowDefinition>
<RowDefinition Height="20"></RowDefinition>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Horizontal">
<TextBlock Text="{Binding LastName}" VerticalAlignment="Center"/>
<TextBlock Text="," VerticalAlignment="Center" Margin="0 0 2 0" />
<TextBlock Text="{Binding FirstName}" VerticalAlignment="Center"/>
</StackPanel>
...剪斷了爲簡潔
有人可以告訴我什麼特定的財產控制箱?我認爲它是焦點框,但我還沒有找到它。任何幫助將不勝感激。
焦點框爲虛線矩形。我相信這是在listviewitem內建的鼠標懸停行爲,或者是行主持人本身?你在擴展現有的listviewitem風格(使用BasedOn)嗎?或完全覆蓋它? (你的頂部風格的東西只是顯示觸發器) –