0

我正在尝试为列表视图中的项目设置样式。我有包含在 WrapPanel 中的项目,并且我已经向 ListViewItems 添加了一些样式。当鼠标悬停在某个项目上时,该项目变为黄色。然而,有一个愚蠢的盒子出现在我的物品周围,我无法弄清楚它来自哪里,所以我可以隐藏它或让它变黄。有人可以给我一个提示吗?这是我的项目的样子: 在此处输入图像描述

我正在使用的样式是这样的:

                        <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>

...为简洁起见

有人能告诉我是什么特定的属性控制着那个盒子吗?我认为它的焦点框,但我还没有找到它。任何帮助将不胜感激。

4

2 回答 2

0

我相信是Border里面ListViewItemControlTemplate

该默认模板有一组触发器,用于设置悬停、选择等时的背景和前景。

您可以通过给您的模板一个负边距来掩盖它来“作弊”吗?

这是 msdn 文档中的一个示例:

http://msdn.microsoft.com/en-us/library/ms788717(v=vs.90).aspx

于 2013-07-01T22:55:34.960 回答
0

在 ListItem 的控件模板中有一个您正在查看其颜色的边框。把边框笔刷属性改成你想要的颜色,问题就解决了

于 2013-07-02T06:54:34.687 回答