2017-03-25 15 views
0

私は助けが必要です。 セルでDataGridをクリックすると、画像(please look at image)のようにすべての行を選択したいのですが、黒い境界線はありません。無効にする方法、または透明に色を変更する方法は?私はこれを試しました:wpf datagrid - 選択した黒の黒を削除するにはどうすればいいですか?

<DataGrid.Resources> 
    <Style TargetType="DataGridCell"> 
     <Setter Property="BorderThickness" Value="0"/> 
     <Setter Property="FocusVisualStyle" Value="{x:Null}"/> 
    </Style> 
    </DataGrid.Resources> 

しかし、動作しません。何も変わりません。

答えて

1

セルだけでなく、selected cellのスタイルを設定する必要があります。行うにはあなたがあなたのstyleタグ内にこれを記述する必要があります。

<Style.Triggers> 
    <Trigger Property="IsSelected" Value="True"> 
     <Setter Property="BorderThickness" Value="0"/> 
    </Trigger> 
</Style.Triggers> 

あなたがTriggersを使用していた必要なのは、それはあなたのために働くことを願っています。また、選択したセルまたは必要なプロパティの背景を変更することもできます。

+0

素晴らしい!この国境を色替える方法も教えてください。 BorderColorが存在しない – slaweke

+0

私は;) ありがとうございます – slaweke

+0

はい、それは 'BorderBrush'です。うまく働いてうれしい:) –

0

次の例では、wpfデータグリッド(ボーダー、セルコーナーなど)をカスタマイズしています。必要に応じて変更することができます。

<Page 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
<Page.Resources> 
    <Style x:Key="cellStyle" TargetType="DataGridCell"> 
    <Setter Property="Padding" Value="0" /> 
    <Setter Property="Margin" Value="2" /> 
    <Setter Property="Background" Value="Black" /> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="DataGridCell"> 
       <Border Background="Black" BorderThickness="0"> 
        <Border x:Name="border" 
          BorderBrush="White" 
          BorderThickness="2" 
          Background="Black" 
          CornerRadius="5"> 
         <ContentPresenter /> 
        </Border> 
       </Border> 
       <ControlTemplate.Triggers> 
        <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsSelected}" Value="true"> 
        <Setter TargetName="border" Property="Background" Value="Orange"/> 
        </DataTrigger> 
       </ControlTemplate.Triggers> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
    </Style> 

    <Style x:Key="rowStyle" TargetType="DataGridRow"> 
    <Setter Property="Padding" Value="0" /> 
    <Setter Property="Margin" Value="0" /> 
    <Setter Property="BorderThickness" Value="0"/> 
    <Setter Property="Background" Value="Black" /> 
    </Style> 

<Grid> 
<DataGrid HeadersVisibility="None" GridLinesVisibility="None" SelectionMode="Single" SelectionUnit="Cell" IsReadOnly="true" 
    RowStyle="{StaticResource rowStyle}" CellStyle="{StaticResource cellStyle}" 
    Background="Black" Foreground="White" ItemsSource="{Binding MyData}" /> 
</Grid> 
</Page> 

あなたのお役に立てば幸いです。敬具

ThiyaguあるRajendran

**そうでない場合、彼らは役立つとマーク解除場合の答えとして回答をマークしてください。

関連する問題