WPF ComboBoxで長い文字を省略表示する方法

この記事は公開から4年以上経過しています。

WPF ComboBoxでコントロールより長い文字を表示した際に文字末尾を省略して「…」を表示する方法の備忘録。

問題

WPFのComboBoxではコントロールより長い文字が選択されていると、以下のように選択された文字が切り捨てられるため、例えば枝番など後続の文字が存在してもそれを一目で判断できないためヒューマンエラーなどの原因にもなりかねません。

file

file

対応

ComboBoxのItemTemplateでTextElementTextBlock.TextTrimmingプロパティを設定します。

<ComboBox>
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding}" TextTrimming="CharacterEllipsis" />
        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>

結果

以下の通り、表示しきれない文字の末尾に「…」が表示されることにより、省略の有無が一目で判断可能になりました。

省略が不要なとき:

file

省略が必要なとき:

file

参考ウェブサイトなど

以上です。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする