2016-05-10 3 views
0

WindowsストアアプリケーションでListBoxItemのスタイルを編集しました。 アイテムの内容が長い場合、テキストブロックのようにトリムしたいのですが、 TextTrimming = "CharacterEllipsis"というプロパティがあります。 私は2つの方法でそれを試しました。TextBoxingのContentPresenterでアプリケーションを編集する

<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> 

<ContentPresenter x:Name="ContentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" ContentTransitions="{TemplateBinding ContentTransitions}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"> 
    <ContentPresenter.Resources> 
    <Style TargetType="TextBlock"> 
     <Setter Property="TextTrimming" Value="CharacterEllipsis"/> 
     <Setter Property="MaxWidth" Value="10"/> 
     <Setter Property="Foreground" Value="Red"/> 
    </Style> 
    </ContentPresenter.Resources> 
</ContentPresenter> 

ではなく、私のために働いて、任意の助けを感謝します。

+0

テキストブロックに最大幅を与える – Archana

+0

いいえ、うまくいきませんでした...返信ありがとうございます。 –

答えて

1

まず、ContentPresenterTextBlockをラップ(あなたは、このシナリオでは、それを必要といけない)と編集して行い<Grid>

+0

貴重な答えをありがとう、私はそれをテストし、それは正常に動作します。 私はContentTemplateを編集して別のシナリオでalredyを作成しました。私の答えをチェックして、どちらが実現可能かを教えてください。 –

0

と交換して削除し、あなたの最初のXAMLの例を使用して、その後、XAML

であなたのListBoxのプロパティScrollViewer.HorizontalScrollBarVisibility="Disabled"を設定します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> 
関連する問題