我正在创建一个使用几个 ListView 控件的应用程序。我有一个特殊的配色方案,我注意到,当鼠标进入 ListView 控件时,它周围有一个细的蓝色边框突出显示。
我无法弄清楚这是在哪里生成的。我正在使用 Expression Blend 来修改控件,但是我可以找到的 ListView 控件的所有组件都没有此蓝色的定义。事实上,ListView 控件中的任何内容都没有用于焦点视觉样式的触发器或状态,这是控件的行为方式。
我正在创建一个使用几个 ListView 控件的应用程序。我有一个特殊的配色方案,我注意到,当鼠标进入 ListView 控件时,它周围有一个细的蓝色边框突出显示。
我无法弄清楚这是在哪里生成的。我正在使用 Expression Blend 来修改控件,但是我可以找到的 ListView 控件的所有组件都没有此蓝色的定义。事实上,ListView 控件中的任何内容都没有用于焦点视觉样式的触发器或状态,这是控件的行为方式。
试试这个,应该做的伎俩:
<ListView Background="Transparent" BorderThickness="0" />
如果您想要这里的样式解决方案,它是:
<Style x:Key="{x:Type ListView}" TargetType="{x:Type ListView}">
<Setter Property="SnapsToDevicePixels" Value="true"/>
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.CanContentScroll" Value="true"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListView}">
<Border Name="Border"
BorderThickness="1"
BorderBrush="#888888"
Background="#FFFFFF">
<ScrollViewer Style="{DynamicResource {x:Static GridView.GridViewScrollViewerStyleKey}}">
<ItemsPresenter />
</ScrollViewer>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsGrouping"
Value="true">
<Setter Property="ScrollViewer.CanContentScroll"
Value="false"/>
</Trigger>
<Trigger Property="IsEnabled"
Value="false">
<Setter TargetName="Border"
Property="Background"
Value="#AAAAAA"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="{x:Type ListViewItem}" TargetType="{x:Type ListViewItem}">
<Setter Property="SnapsToDevicePixels" Value="true"/>
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Border
Name="Border"
Padding="2"
SnapsToDevicePixels="true"
Background="Transparent">
<GridViewRowPresenter VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="Border" Property="Background" Value="#DDDDDD"/>
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="#888888"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
使用样式内的边框和样式内ListView
的触发器(您可以更改边框大小或仅更改颜色。IsSelected
ListViewItem