C# 具有WPF ListView鼠标悬停的轮廓
我使用的是Windows7,默认情况下当前的项目选择是用矢车菊蓝绘制背景。有没有可能在鼠标所在的listview项上用1px的轮廓/边框来代替它 我基本上希望在任何listview项上绘制1px的轮廓/边框,listview项和轮廓/边框之间的间距为1像素C# 具有WPF ListView鼠标悬停的轮廓,c#,.net,wpf,listview,C#,.net,Wpf,Listview,我使用的是Windows7,默认情况下当前的项目选择是用矢车菊蓝绘制背景。有没有可能在鼠标所在的listview项上用1px的轮廓/边框来代替它 我基本上希望在任何listview项上绘制1px的轮廓/边框,listview项和轮廓/边框之间的间距为1像素 我正在为每个项目使用带有图像的WrapPanel。使用ItemContainerStyle覆盖默认的背景行为,并且在您的样式中,使用IsMouseOver上的触发器显示您的轮廓,例如通过设置边框厚度 编辑:未测试的粗略示例: <List
我正在为每个项目使用带有图像的WrapPanel。使用ItemContainerStyle覆盖默认的背景行为,并且在您的样式中,使用IsMouseOver上的触发器显示您的轮廓,例如通过设置边框厚度 编辑:未测试的粗略示例:
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Border Background="White" BorderThickness="5" Name="Bd">
<Border.Style>
<Style TargetType="Border">
<Setter Property="BorderBrush" Value="White" />
</Style>
</Border.Style>
<ContentPresenter />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="Bd" Property="BorderBrush" Value="HotPink" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
使用ItemContainerStyle来覆盖默认的背景行为,并且在您的样式中,使用IsMouseOver上的触发器来显示您的轮廓,例如通过使用边界厚度设置器 编辑:未测试的粗略示例:
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Border Background="White" BorderThickness="5" Name="Bd">
<Border.Style>
<Style TargetType="Border">
<Setter Property="BorderBrush" Value="White" />
</Style>
</Border.Style>
<ContentPresenter />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="Bd" Property="BorderBrush" Value="HotPink" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
谢谢我对WPF很陌生。你能给我看一个小样品吗?或者是一个链接?添加了一个粗略的示例。您可能需要进行一些实验,以获得您想要的确切效果,但希望这将使您走上正确的道路。谢谢,我用ListView替换了ListBox,但它在编译之前表示类型Setter不支持直接内容。它概述了ControlTemplate中的所有内容。抱歉,忘记了Setter.Value元素。谢谢。我对WPF很陌生。你能给我看一个小样品吗?或者是一个链接?添加了一个粗略的示例。您可能需要进行一些实验,以获得您想要的确切效果,但希望这将使您走上正确的道路。谢谢,我用ListView替换了ListBox,但它在编译之前表示类型Setter不支持直接内容。它概述了ControlTemplate中的所有内容。抱歉,忘记了Setter.Value元素。更新。