gpt4 book ai didi

c# - DataGridTextColumn - 最多显示三行文本

转载 作者:太空宇宙 更新时间:2023-11-03 21:54:27 24 4
gpt4 key购买 nike

我有一个 DataGridTextColumn ElementStyle,如下所示:

        <DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Style.Setters>
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush>
<GradientStop Color="Black" Offset="0" />
<GradientStop Color="White" Offset="2" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="White" />
<Setter Property="TextWrapping" Value="Wrap" />
</Style.Setters>
</Style>
</DataGridTextColumn.ElementStyle>

我需要此列中的一个单元格来显示多行文本,但行数不应超过 3。TextBlock 没有 MaxLines 属性,因此我不能直接指定它。更重要的是,TextBlock 没有模板属性,所以我也不能使用无边框、只读的 TextBox。我可以在这里做什么?

最佳答案

嗯,我认为实现此目的的最简单方法是使用 TemplateColumn。这是一个快速示例:第二列是一个 TextColumn,您不能做太多事情,第一列是一个 TemplateColumn,带有一个无边框且只读的 TextBox,MaxLines 设置为 3:

<DataGrid>
<DataGrid.Columns>

<DataGridTemplateColumn Header="Template Column" Width="30" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox IsReadOnly="True" BorderThickness="0" Text="{Binding Mode=OneWay}" MaxLines="3" TextWrapping="Wrap" Foreground="White">
<TextBox.Background>
<LinearGradientBrush>
<GradientStop Color="Black" Offset="0" />
<GradientStop Color="White" Offset="2" />
</LinearGradientBrush>
</TextBox.Background>
</TextBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

<DataGridTextColumn Header="Text Column" Binding="{Binding}" Width="30" >
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Style.Setters>
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush>
<GradientStop Color="Black" Offset="0" />
<GradientStop Color="White" Offset="2" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="White" />
<Setter Property="TextWrapping" Value="Wrap" />
</Style.Setters>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>

<sys:String>coucouuuuuuuuuuuuu</sys:String>

</DataGrid>

关于c# - DataGridTextColumn - 最多显示三行文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12912162/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com