ฉันกำลังกำหนดเองควบคุมคล้ายกับเป็น ItemsControl
ดังนั้นมันมี Items
ทรัพย์สินฉันอยากจะเป็น bindable ต้อแต่ในการสั่งซื้อสำหรับควบคุมของฉันต้องปรับปรุงทรัพย์สินต้องดำเนิ INotifyCollectionChanged
. ฉันอยากของผู้ใช้จะสามารถให้พวกมีวัตถุตราบใดที่มัน implements ทั้งสอง INotifyCollectionChanged
แล้ว IList
.
ในขณะที่เรียบง่ายทางออกคือการสร้างใหม่ส่วนติดต่อรายการอย่างงั้น
public interface INotifyCollectionChangedAndList : INotifyCollectionChanged, IList { }
และต้องการมันเป็นสืบทอดพวกเขากำหนดเองชุดสะสมสิ่ง.
แต่แทนที่จะทำอย่างนี้พวกเขาควรจะเป็นสามารถใช้เวทมนตร์มาตรฐาน ObservableCollection<T>
เช่นกันซึ่งมันสืบทอดทั้งสอง INotifyCollectionChanged
แล้ว IList
แต่มันยัง ไม่ได้ สืบทอด INotifyCollectionChangedAndList
และฉันไม่สามารถควบคุมมองข้ามเรื่องแบบนี้ไปแล้วนะ เช่นกันถ้าพวกเขาใช้ห้องสมุดกับประเภทที่พวกเขาไม่สามารถควบคุมนั่นด้วยอะไรซักอย่างที่สองส่วนเชื่อมต่อมันควรจะยังคงทำงาน
ดังนั้นฉันขอถามคำถามคือถ้ามันมีทางได้ง่ายหรือไม่อย่างนั้น(i.e. เงาสะท้อน)ที่ที่ฉันสามารถกำหนดประเภทไหนเคยต้องรับคำสั่งเข้าใจทั้งหมดความต้องการของสอง(หรือมากกว่า)ส่วนเชื่อมต่อโดยไม่มี explicit SomeClass : INotifyCollectionChangedAndList
?
แก้ไข
ผมเชื่อว่าคำตอบคือ ไม่. ดังนั้นฉันกำลังจะมาร์ค@เบนจามินคำตอบที่ถูกต้องเพราะถึงแม้ว่ามันอาจจะไม่ได้เป็นคนที่ดีที่สุดสำหรับควบคุมนักเขียนมันในคดีอื่นจะเข้าใกล้คำนั้นที่สุดสำหรับสิ่งที่ฉันจะไม่อย่างนั้นเหมือนจะประสบความสำเร็จ