ユーザーが独自のテキストを入力し、必要に応じて改行を追加できるシルバーライトの画面を取得しようとしています。問題は、テキスト ブロック内で return を押しても何も起こらないことです。これを回避する方法はありますか?
ありがとう
ユーザーが独自のテキストを入力し、必要に応じて改行を追加できるシルバーライトの画面を取得しようとしています。問題は、テキスト ブロック内で return を押しても何も起こらないことです。これを回避する方法はありますか?
ありがとう
気にしないでください。AcceptsReturnプロパティをtrueに設定する必要があることがわかりました。
[編集:私の答えに反対票を投じた人のために-質問は「テキストブロックにどのように入力をキャプチャするか」でした。テキストブロック要素にはAcceptsReturn属性がありません。]
Enterキーをトラップして、改行文字を挿入できるはずです。
private string textBuffer = "";
private void TextBlock_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
textBuffer += Environment.NewLine;
}
else
{
textBuffer += e.Key.ToString();
}
Text.Text = textBuffer;
e.Handled = true;
}
別のティモシーさんからの回答ですが、TextBlock はタイピング用ではありません。代わりに TextBox を本当に使いたくないですか?