在 WPF 控件中隐藏 public 属性

Hidden public property in WPF control

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

为了数据绑定工作,这个集合应该是 public 属性,但是为了封装我不希望它是 public.

在这种情况下,最佳做法是什么?

您可以使用Browsable attribute to hide property from property grid and the EditorBrowsable attribute to hide it from the XAML\CS editor. Or you can override the OnApplyTemplate method and assign your property value to the target element. You can get target element using the GetTemplateChild方法。