จะเพิ่มข้อความลงในโค้ด WPF ในโค้ดได้อย่างไร?


120

ฉันรู้สึกโง่ แต่ไม่สามารถหาวิธีเพิ่มข้อความในการควบคุม WPF Label ในโค้ดได้ เช่นต่อไปนี้สำหรับ TextBlock:

DesrTextBlock.Text = "some text";

คุณสมบัติเทียบเท่าใน Label สำหรับทำอะไร?

DesrLabel.??? = "some text"; //something like this

คำตอบ:


189

ลองDesrLabel.Content. มันเป็นวิธี WPF


7
มันเป็นเพียงวิธี ContentControl จริงๆ
Scott M.

4
ที่ดูเหมือนว่าไม่สอดคล้องบิตระบุว่าทรัพย์สินที่จะเรียกTextหาTextBoxแต่ไม่ได้สำหรับTextBlock...
BlueRaja - แดนนี่ Pflughoeft

9
@ BlueRaja-DannyPflughoeft ไม่มีข้อผูกมัดใด ๆ ที่เนื้อหาของป้ายกำกับจะเป็นข้อความ เป็นประเภทobjectดังนั้นคุณสามารถทำให้เป็นประเภท WPF หรือ. NET ที่คุณต้องการได้เช่นปุ่มรูปภาพสี่เหลี่ยมผืนผ้าสีเขียวแม้ว่าSqlDataReaderคุณจะต้องการจริงๆก็ตาม! (แม้ว่าจะเป็นสิ่งที่ค่อนข้างที่จะเป็นตัวแทนในป้ายกำกับ, ผมไม่แน่ใจว่าเกินไป ... )
สตีเฟ่นโฮลท์

เมื่ออัพเดต. เนื้อหาสำหรับเลเบล WPF จะไม่รีเฟรชเลเบลเสมอไป เราจะบังคับให้รีเฟรชได้อย่างไรเมื่อการควบคุมส่งผลให้ UI
David Jeske

@DavidJeske คุณอยู่ในกระทู้อื่นหรือเปล่า? การส่งอาจเป็นเคล็ดลับ
Daniel

27

ใน winForms ปกติค่าของวัตถุฉลากจะเปลี่ยนไปโดย

myLabel.Text= "Your desired string";

แต่ใน WPF Label control คุณต้องใช้คุณสมบัติ .content ของ Label control เช่น

myLabel.Content= "Your desired string";


4

คุณสามารถใช้คุณสมบัติเนื้อหาในการควบคุม WPF แบบวิชวลทั้งหมดเพื่อเข้าถึงสิ่งที่อยู่ภายใน มีการสืบทอดคลาสที่การควบคุมเป็นของและทายาทของ ContentControl จะทำงานในลักษณะนี้



-2

Label myLabel = new Label (); myLabel.Content = "Hello World!";


3
แม้ว่ารหัสนี้อาจตอบคำถามได้ แต่จะเป็นการดีกว่าที่จะใส่บริบทอธิบายวิธีการทำงานและอธิบายว่าเมื่อใดควรใช้ คำตอบแบบใช้รหัสเท่านั้นไม่มีประโยชน์ในระยะยาว
ryanyuyu
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.