У вас есть несколько способов сделать это. Вы можете создать пользовательский номер CellStyle
, вы можете установить Style Template
в DataGrid.Resources
, чтобы получить 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, назначенный как ресурс, вы можете добавить к нему пример, хотя я лишил его этого примера, чтобы он был встроен. Мне нужно будет увидеть ваш ресурс для меня, чтобы показать вам его.
Надеюсь, что это поможет, счастливые праздники.
[TextTrimming] (https://msdn.microsoft.com/en-us/library/system.windows.controls.textblock.texttrimming (v = vs.110) .aspx) является свойством для множества элементов , –