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)如何获得在其中绘制的句柄。用这些信息更新这里的帖子,人们将能够进一步向你指出你的任务。这是可行的,但是文本框显示了一些编辑效果。你知道怎么禁用这个吗?似乎不起作用