我有一个带 datagridview 的有界数据库,我试图用 stringFormat 修剪有界字符串,但我没有找到如何做。 (我不会在 c# 文件中创建一个属性并对其进行修剪)
<DataGridTextColumn Binding="{Binding type}" Width="100" HeaderStyle="{StaticResource HeaderStyle}" ElementStyle="{StaticResource dataGridElementStyle}" />
最佳答案
您有多种方法可以完成此操作。您可以创建一个自定义的 CellStyle
,您可以在 DataGrid.Resources
中设置一个 Style Template
来点击 TargetType
TextBlock
贯穿整个 DataGrid(这是 DataGridTextColumn
在运行时呈现的内容)。一般来说,如果您只希望在单个实例上使用它,我会做类似的事情,而我认为您正在尝试这样做。
<DataGridTextColumn Binding="{Binding type}" Width="100">
<DataGridTextColumn.ElementStyle>
<!-- Since it's already set as "NoWrap" by default,
just need to set trimming which will be invoked
by your set width you already have. -->
<Style TargetType="{x:Type TextBlock}">
<Setter Property="TextTrimming" Value="CharacterEllipsis"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
或者像这样;
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock TextTrimming="Character Ellipses"
Text="{Binding type}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
..或其他方式。只需以一种或另一种方式点击最终结果 TextBlock
。
此外,由于您已经将 ElementStyle 指定为资源,因此您可以将示例添加到其中,尽管我将其从该示例中删除以使其内联。需要查看您的资源,我才能向您展示。
希望这对您有所帮助,节日快乐。
关于c# - 如何使用字符串格式修剪绑定(bind)数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41231875/