私の WPF アプリケーションには、水平位置に 2 つの TextBlocks があるという要件があります。
<StackPanel Orientation="Horizontal" >
<TextBlock FontSize="20" Text="{Binding FileName}" VerticalAlignment="Top" Height="28" HorizontalAlignment="Left" MaxWidth="450" TextTrimming="CharacterEllipsis" TextWrapping="NoWrap" />
<TextBlock FontSize="20" Text="{Binding FileExt}" VerticalAlignment="Top" Height="28" HorizontalAlignment="Left" MaxWidth="50" Visibility="{Binding }" TextWrapping="NoWrap" />
</StackPanel>
ViewModel では、この 2 つのプロパティを設定FileName
していますが、プロパティにFileExt
バインドされている textBlock2 が必要ですFileExt
。textBlock1 の幅がMaxWidth
(サイズ 450) を超えた場合にのみ表示され、TextBlock2 のみが表示されます。
私のアプローチが何であるかを知ることができますか?最初のテキストブロックは、実際には fileName です。ファイル名が「BOOKOFWPF.pdf」であると仮定すると、最大長を超えないため、FileExt textBlock を表示する必要はありませんが、ファイル名が十分に長い場合はTextTrimming="CharacterEllipsis"
、このように実装しました。 FileExt テキスト ブロックを表示する必要がある場合。
助けてください