C# 启用文本换行时,在编辑模式下从DataGridCell中删除边框

C# 启用文本换行时,在编辑模式下从DataGridCell中删除边框,c#,wpf,wpfdatagrid,C#,Wpf,Wpfdatagrid,我有一个数据网格,在其中我不希望网格线在任何时候显示 我几乎用以下代码实现了它: <DataGrid AutoGenerateColumns="False" Height="Auto" Name="dataGrid1" Width="504" ItemsSource="{Binding SourceCollection}" DockPanel.Dock="Top" GridLinesVisibility="None"

我有一个数据网格,在其中我不希望网格线在任何时候显示

我几乎用以下代码实现了它:

<DataGrid  
        AutoGenerateColumns="False" Height="Auto" 
        Name="dataGrid1" Width="504" 
        ItemsSource="{Binding SourceCollection}" 
        DockPanel.Dock="Top" GridLinesVisibility="None" 
        CanUserSortColumns="False" 
        ColumnWidth="Auto" HeadersVisibility="None" 
        FontSize="16" FontFamily="Tahoma" MinRowHeight="30">
 <DataGrid.Columns>
     <DataGridTextColumn Binding="{Binding index}" />
     <DataGridTextColumn Binding="{Binding des}" Width="20*">
     </DataGridTextColumn>
 </DataGrid.Columns>
 <DataGrid.CellStyle>
     <Style>
         <Style.Triggers>
             <Trigger Property="DataGridCell.IsSelected" Value="True">
                 <Setter Property="DataGridCell.Background" Value="White" />
                 <Setter Property="DataGridCell.Foreground" Value="Black" />
                 <Setter Property="DataGridCell.BorderBrush" Value="White" />
                 <Setter Property="DataGridCell.BorderThickness" Value="1" />
             </Trigger>                  
         </Style.Triggers>
     </Style>
 </DataGrid.CellStyle>
 <DataGrid.RowStyle>
     <Style TargetType="DataGridRow">
         <Style.Triggers>
             <Trigger Property="IsSelected" Value="True">
                 <Setter Property="Background" Value="White" />
     </Trigger>
         </Style.Triggers>
     </Style>
 </DataGrid.RowStyle>
<DataGrid>

但一旦我为第二列启用了文本换行,在编辑模式下单元格周围就会显示一条蓝线

<DataGridTextColumn.ElementStyle>
<Style>
    <Setter Property="TextBlock.TextWrapping" Value="Wrap" />
</Style>
</DataGridTextColumn.ElementStyle>
<DataGridTextColumn.EditingElementStyle>
    <Style>
        <Setter Property="TextBlock.TextWrapping" Value="Wrap" />
    </Style>
</DataGridTextColumn.EditingElementStyle>


因此,如何在编辑模式下删除
DataGridCell
中的蓝线,同时保持TextWrap选项?

对于elementstyle,可以使用TextBlock;对于元素编辑样式,可以使用textbox,并将其边框厚度设置为0

<DataGridTextColumn.ElementStyle>
                    <Style TargetType="{x:Type TextBlock}" >                          
                        <Setter Property="TextBlock.TextWrapping" Value="Wrap" />
                    </Style>                     
                </DataGridTextColumn.ElementStyle>
                <DataGridTextColumn.EditingElementStyle>
                    <Style  TargetType="{x:Type TextBox}">
                        <Setter Property="BorderThickness" Value="0"/>
                        <Setter Property="TextWrapping" Value="Wrap" />
                    </Style>
                </DataGridTextColumn.EditingElementStyle>


从文档的外观来看,很像是你必须自己绘制编辑器(在你的案例中是文本框)。很抱歉,这不是答案,但您应该尝试了解(1)如何将文本框之类的编辑器设置到网格中(2)如何获得在其中绘制的句柄。用这些信息更新这里的帖子,人们将能够进一步向你指出你的任务。这是可行的,但是文本框显示了一些编辑效果。你知道怎么禁用这个吗?似乎不起作用