2011-08-26 8 views
5

WP7のTextBoxで改行を取得するにはどうすればよいですか?私はソーシャルベースのアプリ(facebookのような)を開発しています。もしAcceptReturn = trueに設定すると、視覚的な改行ができますが、このテキストをサーバに送ると改行がないことがわかります。この問題で私を助けてください。私は試しましたTextBoxの改行

void whatsend_KeyDown(object sender, System.Windows.Input.KeyEventArgs e) { 
     if (e.Key == Key.Enter) { 
     whatsend.Text +="\r";//or /n,
 
     } 
    } 

しかし成功しません。

答えて

5

Windowsでは、改行には\r\nが使用されていますが、\rではなく、それは無関係です。代わりにEnvironment.NewLineを使用してください。ドキュメントあたりも

、:

真ENTERキーを制御の複数行のバージョンでテキストの新しい行を作成した場合、 Enterキーがフォームの既定のボタンをアクティブにする場合はfalseです。デフォルトはfalseです。

MultiLinetrueに設定しましたか?

EDIT:Ahhh、WP7 ... here is an article I found WP7で複数行のテキストボックスを作成しようとします。

+0

テキストを送信すると、テキストボックスの改行はスペースとして表示されます。 – SevenDays

+1

@wsevendays:あなたのテキストボックスは複数行ですか?つまり、 'MultiLine = true'を設定しましたか?そうでない場合、 'AcceptsReturn'はドキュメントごとに効果がありません。 –

+0

WP7のTextBoxコントロールに "MultiLine"値がありません。 – SevenDays

0

私はWP7に精通していませんが、Windowsでは一般に改行を意味する "\r\n"(つまり、両方ともチャンネル)が使用されています。

テキストに両方を追加すると、問題は解決しますか?

これは、私は、入力された改行がテキストボックスから削除されていることに驚いています。テキストがサーバー上で表示できないと言ったら、どういう意味ですか?テキストがサーバーに送信されていない、またはサーバーに記録されていないこと、またはサーバー上の表示方法にそれが表示されていないことですか?

+0

ダイアログのテキストを唯一のスペースと改行なしで表示され、(それがFacebookなどのサービスもしましょう) 。 – SevenDays

2

Environment.NewLineは通常の開発と同じです。

+0

これは "\ r \ n"よりもはるかに長いので、コードがたくさんある場合はコードをかなり大きくします。違いは何ですか、なぜあなたは単に "\ r \ n"を使用しないのですか? – qJake

+0

もっと冗長であれば誰が気にしますか?間違った改行文字を使用したときにバグが修正されました。それは定数ですが、潜在的に変更する可能性はありますが、それを使用するだけです。あなたのコードがどれくらい短いのか気にする人はいません。入力したくない場合は、最初に変数に格納します。 'var nl = Environment.NewLine'です。 –

+0

テキストを送信すると、テキストボックス内の改行はスペースとして表示され、改行はテキストボックスの先頭に挿入され、最後には挿入されません。 – SevenDays

2

だけXAMLコードにスコープの下に追加します。このような

AcceptsReturn="True" TextWrapping="Wrap" 

何か:

<TextBox x:Name="InputText" Height="200" VerticalAlignment="Top" Width="456" TextAlignment="Center" TextWrapping="Wrap" AcceptsReturn="True"/>