1

ユーザーが独自のテキストを入力し、必要に応じて改行を追加できるシルバーライトの画面を取得しようとしています。問題は、テキスト ブロック内で return を押しても何も起こらないことです。これを回避する方法はありますか?

ありがとう

4

3 に答える 3

4

気にしないでください。AcceptsReturnプロパティをtrueに設定する必要があることがわかりました。

于 2009-07-01T15:30:23.173 に答える
0

[編集:私の答えに反対票を投じた人のために-質問は「テキストブロックにどのように入力をキャプチャするか」でした。テキストブロック要素には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;
    }
于 2009-07-01T15:47:11.407 に答える
0

別のティモシーさんからの回答ですが、TextBlock はタイピング用ではありません。代わりに TextBox を本当に使いたくないですか?

于 2009-08-02T18:13:50.137 に答える