Saya sedang mengembangkan aplikasi untuk mengirim umpan balik.
Pada dasarnya saya mencoba membuat TextBox
komentar, tetapi saya sudah terbiasa dengan WinForms MultiLine=true
. Saya telah menetapkan MinLines
ke 3, yang sudah sampai di sana, tetapi saya lebih suka jika pengguna dapat mengetik di mana saja di blok ini - seperti tekan enter dan lakukan hal-hal titik dot semacam itu. Sebagai contoh:
- Item 1 blah
- Item 2 blahlb lahbvl d
Tetapi pada saat ini semua teks tetap pada satu baris.
- Item 1 blah - Item 2 blahb blahb blah
Komentar-komentar ini kemudian akan membantu mengisi isi email yang dikirimkan. Mungkin tidak ada gunanya jika saya tidak dapat dengan mudah menyimpan pemformatan yang sama saat memasukkan string ini ke string body email (sehingga terlihat seperti itu ketika dikirim seperti halnya saat diketik).
Dapatkah saya mencapai apa yang saya cari atau saya harus meninggalkannya karena semua teks dalam satu baris?
label1.Content = textBox1.Text.Length;
dengan baris ini berfungsi tetapi ketika saya menekan enter di penghitung kotak teks akan menambah 2 karakter. bagaimana saya bisa melakukan tugas ini, tolong bantu saya.textBox1.Text.Replace("\r\n", " ").Length
. Berhati-hatilah: jika ini dimaksudkan sebagai umpan balik pengguna karena ujung belakang Anda membatasi jumlah karakter, Anda mungkin perlu menghitung CR / LF sebagai dua karakter jika demikian bagaimana ujung belakang akan menghitungnya!Juga, jika, seperti saya, Anda menambahkan kontrol langsung di XAML (tidak menggunakan editor), Anda mungkin merasa frustrasi karena tidak akan meregang ke ketinggian yang tersedia, bahkan setelah mengatur kedua properti tersebut.
Untuk membuat peregangan TextBox, atur
Height="Auto"
.MEMPERBARUI:
Dalam retrospeksi, saya pikir ini harus dilakukan berkat gaya default untuk TextBoxes menentukan ketinggian hingga beberapa standar untuk aplikasi di suatu tempat di sumber daya App. Mungkin ada baiknya memeriksa ini jika ini membantu Anda.
sumber
Berikut adalah contoh
XAML
yang akan memungkinkanTextBox
untuk menerima teks multiline dan menggunakan Scrollbars itu sendiri:sumber
Berlawanan dengan @Andre Luus, pengaturan
Height="Auto"
tidak akan membuatTextBox
peregangan. Solusi yang saya temukan adalah mengaturVerticalAlignment="Stretch"
sumber
Satu- satunya properti yang sesuai dalam WPF ke
Properti Winforms :
TextBox.Multiline = true
adalah WPF properti:
TextBox.AcceptsReturn = true
.Semua pengaturan lain, seperti
VerticalAlignement
,WordWrap
dll., Hanya mengontrol bagaimana TextBox berinteraksi di UI tetapi tidak mempengaruhiMultiline
perilaku.sumber