今天,我开始教我自己如何创建一个WPF应用程序(最终)WPF的ListView样式边框
,所以我开始习惯它,但我已经打了一下碰钉子与样式列表视图。
在这上面的图片你可以看到它完美的工作(约选择无边框)
然而,在第二张照片,你可以看到周围的选择一个边陲..看来这只是当我使用键盘转到列表中的下一个项目时发生。
有什么我在样式中失踪,所以我可以摆脱这个边界?
代码:(记得我才开始学习,所以今天它可能是混乱的)
列表视图样式
<Style TargetType="{x:Type ListView}">
<Setter Property="BorderThickness" Value="0" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="BorderThickness" Value="0" />
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="BorderThickness" Value="0" />
</Trigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Foreground" Value="#4b0037" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<Border
BorderBrush="Transparent"
BorderThickness="0"
Background="{TemplateBinding Background}">
<GridViewRowPresenter HorizontalAlignment="Stretch" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Width="Auto" Margin="0" Content="{TemplateBinding Content}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background">
<Setter.Value>
<ImageBrush ImageSource="images/selection.png"/>
</Setter.Value>
</Setter>
<Setter Property="BorderThickness" Value="0" />
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background">
<Setter.Value>
<ImageBrush ImageSource="images/selection.png"/>
</Setter.Value>
</Setter>
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Foreground" Value="#FFFFFF" />
</Trigger>
</Style.Triggers>
</Style>
列表视图XAML
<ListView Background="transparent" Margin="10 10 10 10" x:Name="Mylist" HorizontalAlignment="Stretch" VerticalContentAlignment="center" VerticalAlignment="Stretch" BorderBrush="Transparent">
<ListView.View>
<GridView>
<GridViewColumn Header="img" Width="150" DisplayMemberBinding="{Binding img}" />
<GridViewColumn Header="name" Width="150" DisplayMemberBinding="{Binding name}" />
<GridViewColumn Header="path" Width="150" DisplayMemberBinding="{Binding path}" />
</GridView>
</ListView.View>
</ListView>
非常感谢你,先生,这解决了我的问题。 – Mattigins