(แปลจาก blog ภาษาอังกฤษของ Scottguที่นี่)
หากต้องการตัวอย่าง SourceCode ฉบับเต็ม กดที่นี่
ตอนก่อน เราใช้ DataGrid ในแสดงผล ข้อมูลเว็บ Digg ในตอนนี้เราจะลองใช้ ListBox แสดงแทน เพื่อให้ข้อมูลดูเป็นรายการแทน (แทนการดูเป็นตาราง)
เริ่มต้น แทนคอนโทรล DataGrid ด้วยคอนโทรล <ListBox> โดยให้มีชื่อเหมือนเดิมว่า StoriesList :
เมื่อเรารันโปรแกรม แล้วลอง ค้นหา จะได้ผลดังนี้
คุณอาจประหลาดใจว่า คำว่า "DiggSample.DiggStory" มาจากไหน
เนื่องจาก ListBox ไม่รู้จะเอาค่าไหนของ DiggStory มา มันจึงเอามาจากฟังก์ชัน ToString() แทน
ให้เราเพิ่ม DisplayMemberPath="Title" เข้าไป ดังนี้
เราจะได้ผลดังนี้
เนื่องจาก เราต้องการแสดงผลมากกว่าหนึ่งฟิลด์ และเราต้องการจะจัดวางตำแหน่งข้อมูลใหม่ เราจึงสร้าง
<DataTemplate> ขึ้นมาไว้ใน <ListBox.ItemTemplate> แล้วใส่แท็กสำหรับจัดวางข้อมูลไว้ในภายใน
ตัวอย่างเช่น เราจะแสดง Title ,NumDigg ไว้ใน TextBlock ดังนี้
แล้วได้ผลดังนี้
เราลองมาทำในแบบที่ซับซ้อนขึ้นอีกนิดกัน ดังนี้
และใน App.xaml ก็กำหนด Style ไว้ดังนี้
ได้ผลดังนี้
ตอนหน้า จะเกี่ยวกับแสดงข้อมูล แบบหนึ่งต่อหลาย (Master/Details) ครับ
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น