如何将ItemsSource绑定到私有属性
如何将WPF和ItemsSource
绑定到私有属性?
public partial class ItemBuySellAddEdit : BasePage { private List Items { get; set; } }
表单加载时将填充项目列表。
WPF中的DataBinding仅适用于公共属性。
MSDN :
用作绑定的绑定源属性的属性必须是类的公共属性。 无法为绑定目的访问明确定义的接口属性,也没有基本实现的受保护,私有,内部或虚拟属性
如果你真的想要这样做,你必须提供一个自定义类型描述符,通过实现ICustomTypeDescriptor
– 它通过自定义PropertyDescriptor
提供额外的属性,与常规公共属性一起提供。 您可以在类型本身上实现此接口,也可以通过TypeDescriptionProvider
; 后者是首选,因为它适用于更多场景(诸如空列表之类的东西,而不需要提供具有ITypedList
实现的自定义列表)。 这是很多工作,除非在极端情况下,它确实不值得。 但这是可以完成的。
这是不可能的,如果你愿意,你可以使用internal
代替。
…并使用ObservableCollection
并且不要忘记设置视图的DataContext。
你需要一个相对源绑定,现在你的绑定是你的ItemBuySellAddEdit
(FrameworkElement) ItemBuySellAddEdit
的DataContext,这是我的Impression,因为你使用的是partial
。 如果是ViewModel,请检查输出窗口,看看是否有任何绑定错误。
但Stephan Bauer的答案仍然适用。
如果您希望该列表中的新项目自动显示,请考虑WaltiD的答案。
上述就是C#学习教程:如何将ItemsSource绑定到私有属性分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/988941.html