コントロールにテキストの長さを表示するという要件を受け取りました。コントロールは特定の幅で、高さは最大2行になります。2行より長くレンダリングする場合は、文字列の最後に「...」と表示されます。
これは、標準のWPFコントロールのいずれかで可能ですか?
ありがとう。
TextBlock の Height を、2 行に収まる十分な高さに設定します。TextWrapping を Wrap に設定し、TextTrimming を CharacterEllipsis または WordEllipsis に設定します。
デフォルトの Segoe UI 12Pt フォントの場合、これでうまくいくことがわかりました
<TextBlock TextWrapping="Wrap" Height="40" TextTrimming="CharacterEllipsis" />
必要に応じて、特定のフォントの高さを計算するために、コードビハインドを行うことができます。
これは私がこれまでに見つけた標準的な動作ではありませんが、これも探していません。
1 つの可能性は、TextArea コントロールでモノスペース フォントを使用することです。文字列が領域に収まる文字数よりも大きい場合は、右側の N 文字のみを省略記号で表示します。