簡體   English   中英

wpf datagrid - 如何刪除黑色選定的邊框?

[英]wpf datagrid - how to remove black selected border?

我需要幫助,當我單擊單元格中的數據網格時,我想選擇圖像中的所有行(請查看圖像),但沒有黑色邊框。 如何禁用或將顏色更改為透明? 我試過這個:

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

但不工作。 沒有什么改變。

您需要設置selected cell樣式,而不僅僅是單元格。 為此,您需要在style標簽中寫入以下內容:

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

您所需要的只是使用Triggers希望它對您Triggers 您也可以更改選定單元格的背景或您想要的任何屬性。

以下示例自定義 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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM