2016-08-10 6 views
0

実際にはここに2つの問題があります。最初のものは私のGridViewにある白い縞です。私はそれを取り除く方法についてのアイデアはありません。次に、2番目の問題は、CollumnHeaderが実際に幅を伸ばさないことです。ここで XAML GridViewの白い縞

はイメージです。

enter image description here

そして、ここに私のコードです:私はすでに0に余白を設定しようとしました

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

、ほとんどの自動車に幅それは役に立たなかった。また、すべてのコンポーネントのForeColorを変更しても、どこから来るかわからなかった。 これについての他のStackOverflowの質問を見たことがあるが、わかりませんでした。

誰も私にこれらの縞がどこから来ているか説明することができます。 おそらくコードを提供して、どのようにすればよいかわかります。

+0

白い縞は列見出しの区切り文字です。彼らは 'GridViewColumnHeader'の' ControlTemplate'から来ています。それらを削除したい場合は、 'ControlTemplate'をオーバーライドする必要があります。この[回答](http://stackoverflow.com/a/14334080/587690)を参照してください。列の自動サイズ調整に関しては、この[回答](http://stackoverflow.com/a/560665/587690) – sthotakura

+0

を参照してください。あなたの答えは私に感覚の多くを作ってくれてありがとう:) – Bitsec

答えて

0

これは私が使い終わった。私は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のコメントに行くのではなく、透明に塗りつぶしを設定します。この方法でストライプは消えますが、グリッパー/セパレーターは引き続き保持します。

関連する問題