/ / XAML Бели ивици в GridView - c #, wpf, gridview

XAML бели ивици в GridView - c #, wpf, gridview

Така че имам 2 проблеми тук. Първият е белите ивици, които са в моя GridView, които нямам идея как да се отърва от тях. Тогава вторият проблем е, че CollumnHeader наистина не се простира по ширина.

Ето едно изображение:

въведете описанието на изображението тук

И тук е моят код:

<UserControl x:Class="PROShine.TeamView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:PROShine"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<UserControl.Resources>
<Style x:Name="ListviewStyle" TargetType="ListView">
<Setter Property="Background" Value="#FF0d0d0d" />
<Setter Property="Foreground" Value="White" />
<Setter Property="BorderBrush" Value="#FF1e1e1e" />
<Setter Property="BorderThickness" Value="1,1,1,1" />
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
<Style x:Name="GridViewStyle" TargetType="GridViewColumnHeader">
<Setter Property="Background" Value="#FF111111" />
<Setter Property="Foreground" Value="White" />
<Setter Property="BorderBrush" Value="#FF1e1e1e" />
<Setter Property="BorderThickness" Value="1,0,1,0" />
<Setter Property="Margin" Value="0,0,0,0" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="BorderBrush" Value="#FF171717"/>
<Setter Property="Visibility" Value="Visible"/>
<Setter Property="Background"  Value="Transparent"/>
</Trigger>
<Trigger Property="IsPressed" Value="true">
<Setter Property="BorderBrush" Value="#FF171717"/>
<Setter Property="BorderBrush" Value="#FF171717"/>
<Setter Property="Visibility" Value="Visible"/>
<Setter Property="Visibility" Value="Hidden"/>
<Setter Property="Margin" Value="1,1,0,0"/>
</Trigger>
</Style.Triggers>
</Style>
</UserControl.Resources>

<Grid>
<ListView Name="PokemonsListView">
<ListView.View>
<GridView>
<GridViewColumn Header="Id" DisplayMemberBinding="{Binding Id}"/>
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}"/>
<GridViewColumn Header="Level" DisplayMemberBinding="{Binding Experience.CurrentLevel}"/>
<GridViewColumn Header="Status" DisplayMemberBinding="{Binding Status}"/>
<GridViewColumn Header="HP" DisplayMemberBinding="{Binding Health}"/>
<GridViewColumn Header="Remaining Exp" DisplayMemberBinding="{Binding Experience.RemainingExperience}"/>
<GridViewColumn Header="Item" DisplayMemberBinding="{Binding ItemHeld}"/>
</GridView>
</ListView.View>
</ListView>
</Grid>

Вече се опитах да задам Маржин на 0, ширината доAuto на повечето компоненти, но това не помогна. Също така, промяната на ForeColor за всеки компонент не ми показа къде са ивиците, откъдето идва ... Видях някои други въпроси на StackOverflow за това, но имаха или огромни кодове, които не разбрах, нито знаех как работят.

Може ли някой да ми обясни къде идват тези ивици. И може би дайте код, за да мога да видя как ще го направите.

Отговори:

0 за отговор № 1

Това беше в крайна сметка използвах. Получих го от MSDN и редактирах сам малко

    <Style x:Key="GridViewColumnHeaderGripper" TargetType="Thumb">
<Setter Property="Width" Value="18"/>
<Setter Property="Background" Value="{StaticResource SeperatorBrush}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Thumb}">
<Border Padding="{TemplateBinding Padding}" Background="Transparent">
<Rectangle HorizontalAlignment="Center" Width="1" Fill="{TemplateBinding Background}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

Частта от правоъгълника е това, което прави ивиците. Сега, ако искате да запазите функционалността на тези, не отидете на коментара на sthotakura, но задайте Fill to Transparent. По този начин ивиците ще изчезнат, но вие все пак ще държите grippers / separators.