2

私は TextBlock とTextTrimming="CharacterEllipsis"TextWrapping="NoWrap"約 140,000 シンボルの非常に長いテキストを持っています。このテキストを TextBlock に入れると、TextBlock はこのテキストを各行でトリミングする複数行のコントロールとして表示します。

XAML

    <Window x:Class="WpfApplication3.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <TextBlock x:Name="textBlock" TextTrimming="CharacterEllipsis" TextWrapping="NoWrap" Width="500"/>
        </Grid>
    </Window>

C#

    public partial class MainWindow : Window {
            public MainWindow() {
                InitializeComponent();
                string str = "q ";
                for(int i = 0; i < 20000; i++) {
                    str += "qwetre ";
                }
                textBlock.Text = str;
            }
        }


何か案は?MS のバグですか、それともこの動作を変更できますか?

4

2 に答える 2

2

TextblockTextWrappingプロパティは、デフォルトで NoWrap に設定されています。

したがって、

  1. 明示的に Wrap/WrapWithOverflow に設定するか、
  2. <LineBreak/>テキストにタグを追加する

テキストは常に 1 行だけで表示されます。

@Mirimonあなたが示したとおりにこのプロジェクトを実行しましたが、1行しか表示されません!

于 2012-09-03T20:47:13.013 に答える
2

私の質問に対する答えが見つかりました。TextBlock は 4.5 フレームワーク (私は VS2012 をインストールしました) でこの動作をします。VS2012 のないコンピューターで試してみましたが、正しく動作し、1 行のみでした。

于 2012-09-04T07:26:28.307 に答える