/ / XAML Weiße Streifen in GridView - c #, wpf, gridview

XAML Weiße Streifen in GridView - c #, wpf, gridview

Also habe ich eigentlich 2 Probleme hier. Das erste sind die weißen Streifen in meinem GridView, von denen ich keine Ahnung habe, wie ich sie loswerden kann. Dann ist das zweite Problem, dass der CollumnHeader nicht wirklich in der Breite streckt.

Hier ist ein Bild:

Bildbeschreibung hier eingeben

Und hier ist mein Code:

<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>

Ich habe bereits versucht, Margin auf 0, die Breite zu setzenAuto auf den meisten Komponenten, aber das half nicht. Außerdem zeigte mir das Ändern der ForeColor für jede Komponente nicht, wo die Streifen herkommen ... Ich habe einige andere StackOverflow-Fragen dazu gesehen, aber sie hatten oder riesige Codes, die ich nicht verstand oder wusste, wie sie funktionierten.

Kann mir jemand erklären, woher diese Streifen kommen? Und vielleicht einen Code, damit ich sehe, wie Sie es tun würden.

Antworten:

0 für die Antwort № 1

Das war ich am Ende benutzt. Ich habe es von MSDN und ein bisschen selbst bearbeitet

    <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>

Der Rechteckteil ist, was die Streifen macht. Wenn Sie nun die Funktionalität dieser Elemente beibehalten möchten, gehen Sie nicht zum Kommentar von sthotakura, sondern setzen Sie Fill auf Transparent. Auf diese Weise verschwinden die Streifen, aber Sie behalten immer noch die Greifer / Separatoren.