แสดงรายการหลายรายการแบบไดนามิกโดยใช้ DataTemplate แต่ไม่ได้ใช้กล่องรายการหรือคล้ายกัน

ฉันใช้ MVVM และฉันมีวัตถุที่คล้ายกับโครงสร้างที่กำหนดไว้ด้านล่าง ทุกอย่างเป็นแบบไดนามิก ดังนั้นจำนวนแถวจะแตกต่างกันไป จำนวนกลุ่มอาจแตกต่างกัน และจำนวนป้ายกำกับและค่าที่แสดงภายในแต่ละกลุ่มจะแตกต่างกันไปเช่นกัน

  • Row1
    • Group1
      • Label1 : Value1
      • ป้ายกำกับ2 : ค่า2
      • Label3 : ค่า 3
      • Label4 : ค่า 4
    • Group2
      • Label1 : Value1
      • ป้ายกำกับ2 : ค่า2
      • Label3 : ค่า 3
      • Label4 : ค่า 4
    • Group3
      • Label1 : Value1
      • ป้ายกำกับ2 : ค่า2
      • Label3 : ค่า 3
      • Label4 : ค่า 4
  • Row2
    • Group1
      • Label1 : Value1
      • ป้ายกำกับ2 : ค่า2
      • Label3 : ค่า 3
      • Label4 : ค่า 4
    • Group2
      • Label1 : Value1
      • ป้ายกำกับ2 : ค่า2
      • Label3 : ค่า 3
      • Label4 : ค่า 4
    • Group3
      • Label1 : Value1
      • ป้ายกำกับ2 : ค่า2
      • Label3 : ค่า 3
      • Label4 : ค่า 4

ทุกอย่างถูกกำหนดไว้ในฐานข้อมูลและในขณะที่วัตถุของฉัน (ประกอบด้วยโมเดลมุมมองจำนวนมากโดยใช้คอลเลกชันที่สังเกตได้) ถูกกำหนดอย่างถูกต้องและฉันสามารถแสดงข้อมูลทั้งหมดตามนั้นได้ แต่ฉันไม่ชอบสิ่งที่ฉันทำ!!

ฉันมี LongListMultiSelector ที่เก็บแถวทั้งหมดของฉัน (ส่วนนั้นใช้ได้) แต่แล้วฉันก็มีกล่องรายการสำหรับแต่ละกลุ่มและภายในแต่ละกลุ่มฉันมีกล่องรายการอื่นเพื่อแสดงป้ายกำกับและค่าทั้งหมดของฉัน แต่

ปัญหาของฉันคือฉันสามารถ "ลาก" กลุ่มได้ (แต่ยาก) แต่ฉันสามารถลากป้ายกำกับและค่าได้เนื่องจากเป็นรายการในรายการที่ดูแย่มาก!

มีวิธีแสดงข้อมูลนี้เป็นตารางแบบไม่ต้องเลื่อนหรือไม่? ฉันแค่อยากแสดงข้อมูลตามที่กล่าวไว้ข้างต้น แต่ฉันไม่ต้องการให้ผู้ใช้สามารถลากสิ่งใด ๆ ได้ ยกเว้นการเลื่อนจากแถวหนึ่งไปอีกแถวหนึ่งหากสมเหตุสมผล!

มีวิธีปิดการใช้งานการเลื่อนของกล่องรายการหรือไม่? ควรจะทำแบบนี้มั้ย? นอกจากนี้ ฉันไม่ต้องการใช้เพื่อให้สามารถเลือก/ไฮไลต์ป้ายกำกับหรือฟิลด์เฉพาะได้โดยการแตะ ดังนั้นส่วนนี้จึงต้องปิดการใช้งานด้วยหรืออย่างน้อยไฮไลท์จะต้องมีสีเดียวกันกับค่าเริ่มต้นตามลำดับ ไม่ต้องแสดงมัน!

สุดท้ายนี้ ถ้าฉันออกจากกล่องรายการ (และปิดใช้งานการเลื่อนหรือการไฮไลต์) หรือใช้การควบคุมอื่นเพื่อให้บรรลุสิ่งเดียวกัน มีวิธีที่ผู้ใช้สามารถลากรายการเหล่านี้ราวกับว่าพวกเขามีนิ้วอยู่บนรายการบน LongListMultiSelector?

ฉันไม่แน่ใจว่าจะซื่อสัตย์ ใครช่วยแนะนำหน่อยได้ไหม?

ขอบคุณมาก.


person Thierry    schedule 25.06.2013    source แหล่งที่มา


คำตอบ (1)


ฉันพบบทความเกี่ยวกับ stackoverflow ซึ่งเป็นสิ่งที่ฉันต้องใช้ในการแก้ไขปัญหา

ฉันไม่แน่ใจว่าสิ่งนี้ถูกต้องหรือไม่ แต่นี่เป็นเคล็ดลับสำหรับฉันอย่างแน่นอน

ตอนนี้ฉันต้องหาวิธีปิดการใช้งาน "การแตะ" เมื่อสะบัดผ่าน LongListMultiSelector ของฉัน แต่นั่นก็เป็นอีกปัญหาหนึ่ง แต่โดยรวมแล้วการมีกล่องรายการภายในกล่องรายการภายใน LongMultiSelector สามารถจัดการได้ดีมากโดยการปิดการใช้งานการเลื่อน

person Thierry    schedule 26.06.2013