Xaml windows应用商店应用程序中ContentPresenter中的文本修剪

Xaml windows应用商店应用程序中ContentPresenter中的文本修剪,xaml,windows-store-apps,Xaml,Windows Store Apps,我已在windows应用商店应用程序中编辑ListBoxItem的样式。 当项目的内容很长时,我想修剪它,就像在textblock中我们有属性一样 texttiming=“CharacterEllipsis”。 我试过两种方法 <ContentPresenter x:Name="ContentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" ContentTransitions="{TemplateBinding

我已在windows应用商店应用程序中编辑ListBoxItem的样式。 当项目的内容很长时,我想修剪它,就像在textblock中我们有属性一样 texttiming=“CharacterEllipsis”。 我试过两种方法

<ContentPresenter x:Name="ContentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" ContentTransitions="{TemplateBinding ContentTransitions}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
    <TextBlock TextTrimming="WordEllipsis" Text="{TemplateBinding Content}"        Margin="{TemplateBinding Padding}"/>
</ContentPresenter>



但不适合我,任何帮助都将不胜感激。

首先,在XAML中设置ListBox属性
ScrollViewer.HorizontalScrollBarVisibility=“Disabled”


然后使用您的第一个XAML示例删除包装
文本块的
ContentPresenter
(在本场景中您不需要它),并替换为
首先,在XAML中设置ListBox属性
ScrollViewer.HorizontalScrollBarVisibility=“Disabled”


然后使用第一个XAML示例删除包装
文本块的
ContentPresenter
(在本场景中不需要它),并替换为通过编辑ContentTemplate完成的

<ContentPresenter x:Name="ContentPresenter" ContentTransitions="{TemplateBinding ContentTransitions}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
      <ContentPresenter.ContentTemplate>
        <DataTemplate>
         <TextBlock Text="{Binding ElementName=ContentPresenter, Path=Content}" TextTrimming="CharacterEllipsis"/>
        </DataTemplate>
       </ContentPresenter.ContentTemplate>
</ContentPresenter>

通过编辑ContentTemplate完成

<ContentPresenter x:Name="ContentPresenter" ContentTransitions="{TemplateBinding ContentTransitions}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
      <ContentPresenter.ContentTemplate>
        <DataTemplate>
         <TextBlock Text="{Binding ElementName=ContentPresenter, Path=Content}" TextTrimming="CharacterEllipsis"/>
        </DataTemplate>
       </ContentPresenter.ContentTemplate>
</ContentPresenter>


将maxwidth指定给TextBlock否,不起作用。。。谢谢回复。将maxwidth交给TextblockNo,不工作。。。谢谢你的回复。非常感谢你宝贵的回答,我测试过了,效果很好。但我已经通过编辑ContentTemplate完成了另一个场景。请检查我的答案,并让我知道哪一个是可行的。非常感谢您宝贵的答案,我测试了它,它工作良好。但我已经通过编辑ContentTemplate完成了另一个场景。请检查我的答案并让我知道哪一个是可行的。您可以直接使用:
Text=“{Binding ElementName=ContentPresenter,Path=Content}”代替:
Text=“{TemplateBinding Content}”
。您可以直接使用:
Text=
Text=“{Binding ElementName=ContentPresenter,Path=Content}”{TemplateBinding Content}“