ฉันต้องการใช้ UI แบบไดนามิกโดยที่ตัวควบคุมกล่องข้อความจะถูกสร้างขึ้นแบบไดนามิกและเนื้อหาเชื่อมโยงกับพจนานุกรมบน ViewModel
ฉันกำลังพยายามใช้การเชื่อมโยงข้อมูลแบบสองทางโดยใช้ ReactiveUI
ปัญหาที่ฉันกำลังเผชิญคือดูเหมือนว่าฉันจะได้รับอนุญาตให้ผูกกล่องข้อความกับรายการในพจนานุกรมเท่านั้นหากฉันใช้สตริงตัวอักษรเป็นคีย์ แต่ทันทีที่ฉันพยายามใช้ตัวแปรสตริงเพื่อตั้งค่าการเชื่อมโยง ฉันได้รับข้อผิดพลาดต่อไปนี้:
Index expressions are only supported with constants.
นี่คือตัวอย่างง่ายๆ ของสิ่งที่ฉันพยายามทำ กล่องข้อความไม่ได้สร้างอินสแตนซ์แบบไดนามิกเพื่อแยกปัญหา:
string PropNum = "22017";
this.Bind(ViewModel, vm => vm.ExcelData[PropNum], view => view.tbCreate.Text);
ในตัวอย่างนี้ ExcelData
คือ Dictionary<string, object>
ที่กำหนดไว้ใน ViewModel
ในทางกลับกัน งานต่อไปนี้ใช้ได้ดี:
this.Bind(ViewModel, vm => vm.ExcelData["22017"], view => view.tbCreate.Text);
ฉันต้องการให้คีย์การค้นหาเป็นตัวแปร มีวิธีใดบ้างที่จะบรรลุผลนี้?
ขอบคุณ