2017-09-05 4 views
0

タイトルにはかなりのことが書かれています。 TextWrappingTextWrapping.NoWrapに設定されたTextBoxに9600文字を超える文字列を貼り付け、9600文字の行に分割して折り返して縦方向に拡大します。これには正当な理由はありますか?どのような方法でそれを防ぐには?TextBoxがTextWrapping = NoWrapであっても9600文字後に折り返します

有効な意見であるが、質問に答えることはできません。「長い文字列にはTextBoxを使用しないでください。 :)

XAMLこれはより任意のより複雑である必要はありません立証する:

<Window x:Class="TestApp.TestWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     mc:Ignorable="d" 
     Title="TestWindow" Height="300" Width="300"> 
    <TextBox TextWrapping="NoWrap" HorizontalAlignment="Left" VerticalAlignment="Top" /> 
</Window> 
+1

他のフォントサイズの文字は何文字ですか? – Clemens

+0

@Clemens文字サイズには何の効果もないようです。 – dlf

+0

男...あなたはそのテキストをダブルバッファリングする何らかの形を見なければならないので、そのテキストボックスに最大1-2kをロードするだけです。さもなければ、それはとても苦痛になるでしょう。それは言われている。私はあなたが固定サイズのスクロールビューアにテキストボックスをポップし、そこからコントロールするべきだと思います。 – code4life

答えて

0

これに対する私のソリューションは、TextBoxMaxLines="1"を追加することでした。これはWPFが非常に長い文字列を複数の行に分割するのを止めるわけではありませんが、これが起こったときにコントロールが垂直に成長するのを防ぎます。つまり、ユーザーはWar and Peaceの全文を検索ボックスに貼り付ける。 :)

関連する問題