ตั้งความสูงของ ListboxItems ใน ListBox โดยทางโปรแกรมสำหรับ Windows ที่เก็บ App

ฉันทำงานบนโปรแกรมประยุกต์ที่เก็บ windows และหนึ่งในสิ่งที่อยากทำใน app จะแสดงแฟ้มบันทึกที่แสดงข้อความสถานะและ tidbits อื่น ๆ ให้ข้อมูลเป็นผู้ทำกิจกรรม. เพื่อการนี้, เพิ่มกล่องรายการดังนี้:

<กล่อง x:ชื่อ ="GameStateLog" HorizontalAlignment ="ศูนย์" ความสูง ="221" VerticalAlignment ="ด้านบน" ความกว้าง ="499" เซลล์ ="0" FontSize ="10">

 

รหัส C# เพื่อสร้างกล่องรายการที่ใช้งานจริงได้พร้อม:

GameStateLog.Items.Insert(0, GameStateCounter    + ": สถานะเกมใหม่: รอเล่น 1 ชื่อ");

นี้ทำงานออกมาละเอียดพอ แต่ UI แสดงจำนวนระยะห่างสถานแต่ละข้อความบ้ามีเพิ่ม. ที่เข้าใจ ถ้าฉันต้องผู้ใช้สามารถเลือกรายการเหล่านี้ไม่ถูกต้องเมื่อฉันต้องการแสดงข้อความบันทึกชุดทำงาน-ผู้ใช้จะไม่เลือกเหล่านี้, เพียงแค่ดูพวกเขา. มันแพงกว่ายากหาวิธีง่าย ๆ นี้ และว่า, วิธีผมพบว่ามันไม่จำเป็นต้อง "ง่าย" แต่ผมก็ทำงานตกลง. เข้าใจหลักมาจากการลงรายการบัญชีนี้ ที่นี่ (http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c4a6f694-bd46-4779-ab83-b1c2fcb2397c) จาก Bob Relyea. แทนการเพิ่มสายอักขระเพื่อเก็บสินค้าบนกล่อง, เพิ่ม ListBoxItems. โดยการเพิ่มสายอักขระ, กล่องสร้าง ListBoxItem ของตนเองนั้น. ฉันไม่สามารถที่จะส่งผลกระทบต่ออะไรเกี่ยวกับ ListBoxItem ที่หลังจากข้อเท็จจริง. รหัสใหม่:

        ส่วนตัว โมฆะ AddGameStateLogMessage(สายอักขระ theMessage)
        {
            ลิ ListBoxItem = ใหม่ ListBoxItem();
            liเนื้อหา = theMessage;
            liMaxHeight = 25;

            ความหนา thisPadding = ใหม่ ความหนา(5, 0, 5, 0);
            liเซลล์ = thisPadding;

            GameStateLog.Items.Insert(0,li);
        }

 

นี่ฉันกำลังสร้างของ ListBoxItem และใส่พวกเขา. ผมเอาระยะห่างส่วนเกิน โดยการกำหนดความหนาของ.

นี้มีความยืดหยุ่นสวยผมตั้งใจทำสีเขียนโค้ดเพื่อเน้นข้อความชนิดใด และ โดยการเพิ่ม ListBoxItems โดยตรง ผมไปแบบพวกเขามี.

หวังนี้ช่วยคน!

</สิ้นสุด>

undefinedสมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

ทิ้งคำตอบไว้

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่. ช่องที่ต้องการถูกทำเครื่องหมาย *