Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 鼠标悬停时,如何避免ListViewItem上出现高亮显示的蓝色矩形?_Wpf_Xaml_Listview_Listviewitem - Fatal编程技术网

Wpf 鼠标悬停时,如何避免ListViewItem上出现高亮显示的蓝色矩形?

Wpf 鼠标悬停时,如何避免ListViewItem上出现高亮显示的蓝色矩形?,wpf,xaml,listview,listviewitem,Wpf,Xaml,Listview,Listviewitem,我创建了以下名为“InertListView”的wpf控件,它是一个自定义ListView: <Plugins:InertListView ItemsSource="{Binding Path=Data.InputPorts}" Grid.Column="0" Background="Transparent" BorderThi

我创建了以下名为“InertListView”的wpf控件,它是一个自定义ListView:

<Plugins:InertListView    ItemsSource="{Binding Path=Data.InputPorts}"
                          Grid.Column="0" 
                          Background="Transparent"
                          BorderThickness="0"
                          BorderBrush="{x:Null}"
                          >
                            <ListView.ItemTemplate>
                                <DataTemplate>
                                    <Grid>
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="Auto" />
                                            <ColumnDefinition Width="Auto" />
                                        </Grid.ColumnDefinitions>
                                        <Path   Name="LeftPort" 
                                                Fill="{Binding Color}"   
                                                go:Node.PortId="{Binding Type}"
                                                Tag="Left"
                                                go:Node.LinkableFrom="False" 
                                                go:Node.LinkableTo="True"
                                                go:Node.ToSpot="MiddleLeft"
                                                go:Node.LinkableMaximum="1"
                                                Grid.Column="0"
                                                VerticalAlignment="Center"
                                                HorizontalAlignment="Left"
                                                Cursor="Hand"
                                                Width="10.968" 
                                                Height="14"
                                                Stretch="Fill" 
                                                StrokeThickness="2" 
                                                StrokeMiterLimit="2.75" 
                                                Stroke="#FF535755" 
                                                Data="F1 M 16.9835,22.9609C 16.7301,23.2861 16.1852,23.5528 15.7721,23.5528L 12.7187,23.553C 12.3071,23.553 11.9687,23.2161 11.9687,22.803L 11.9687,12.3032C 11.9687,11.8901 12.3071,11.5532 12.7187,11.5532L 15.7721,11.553C 16.1852,11.553 16.7301,11.8196 16.9835,12.1447L 20.7466,16.961C 21,17.2862 21,17.8195 20.7466,18.1447L 16.9835,22.9609 Z " 
                                                />
                                        <TextBlock x:Name="LabelPortLabel" 
                                                TextAlignment="Left" 
                                                FontFamily="/Connect IO;component/Fonts/#Segoe UI" 
                                                Grid.Column="1"
                                                VerticalAlignment="Center"
                                                FontSize="13" 
                                                Width="Auto" 
                                                Height="Auto" 
                                                Canvas.Top="0"
                                                Text="{Binding Label}"
                                                Margin="5 0 0 0"
                                                Cursor="Arrow"      
                                                />
                                    </Grid>
                                </DataTemplate>
                            </ListView.ItemTemplate>
                        </Plugins:InertListView>
我的问题是,当我将鼠标移到其中一个ListViewItems上时,会出现一个高亮显示的蓝色矩形。我怎样才能避免这种行为

提前谢谢


Ricardo覆盖Highlight笔刷,如下所示:

<Plugins:InertListView    ItemsSource="{Binding Path=Data.InputPorts}"
                          Grid.Column="0" 
                          Background="Transparent"
                          BorderThickness="0"
                          BorderBrush="{x:Null}"
                          >
<Plugins:InertListView.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}"
                             Color="Transparent"/>
</Plugins:InertListView.Resources>

您需要更改控件的模板。大概是这样的:

<Plugins:InertListView>
    ......
    ......
    <Plugins:InertListView.ItemContainerStyle>
        <Style TargetType="{x:Type ListViewItem}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type ListViewItem}">
                        <Border x:Name="Bd"
                                Background="{TemplateBinding Background}"
                                BorderBrush="{TemplateBinding BorderBrush}"
                                BorderThickness="{TemplateBinding BorderThickness}">
                            <ContentPresenter Margin="{TemplateBinding Padding}"
                                              HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                              VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Plugins:InertListView.ItemContainerStyle>
</Plugins:InertListView>

......
......

非常感谢!你的解决方案对我来说太完美了!
<Plugins:InertListView>
    ......
    ......
    <Plugins:InertListView.ItemContainerStyle>
        <Style TargetType="{x:Type ListViewItem}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type ListViewItem}">
                        <Border x:Name="Bd"
                                Background="{TemplateBinding Background}"
                                BorderBrush="{TemplateBinding BorderBrush}"
                                BorderThickness="{TemplateBinding BorderThickness}">
                            <ContentPresenter Margin="{TemplateBinding Padding}"
                                              HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                              VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Plugins:InertListView.ItemContainerStyle>
</Plugins:InertListView>