隐藏在WPF控制下的公共财产

本文关键字:财产 控制下 WPF 隐藏 | 更新日期: 2023-09-27 18:16:34

我正在WPF中编写一个自定义控件,以这种方式工作:用户设置一些属性,其中类型是某些类。然后,控件检查该对象并生成一些集合,这些集合将通过数据绑定显示在UI中。

为了使数据绑定工作,这个集合应该是一个公共属性,但是为了封装,我不希望它是公共的。

在这种情况下的最佳实践是什么?

隐藏在WPF控制下的公共财产

可以使用Browsable属性从属性网格中隐藏属性,使用EditorBrowsable属性从XAML'CS编辑器中隐藏属性。或者您可以覆盖OnApplyTemplate方法,并将您的属性值分配给目标元素。您可以使用GetTemplateChild方法获取目标元素。