c# - 如何使用字符串格式修剪绑定(bind)数据

标签 c# wpf xaml

我有一个带 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/

相关文章:

c# - 允许使用 DataGridView 双向绑定(bind)到 IQueryable 的好方法是什么?

c# - 通过 WCF 将 session 值传递给 silverlight?

c# - 仅使用按钮和网格重新创建标签页 - WPF C#

c# - ListViewItem IsSelected Binding - 适用于 WPF,但不适用于 WinRT

c# - Moq It.Is<> 不匹配

c# - 如何从 C# 调用具有 char[] 作为 OUT 参数的非托管函数?

wpf - 在 WPF MVVM 中打开对话框

c# - 设置默认 "ok"和 "cancel"按钮

c# - 我如何测试我的代码在我的 c# .net 核心项目中一次打开的请求连接不超过 50 个?

c# - 通知计算属性的变化