场景非常简单.我有自定义控件的只读集合属性,我想在XAML中设置集合的项目.像这样:
<l:CustomControl>
<l:CustomControl.ControlItems>
<l:CustomItem />
<l:CustomItem />
</l:CustomControl.ControlItems>
</l:CustomControl>
Run Code Online (Sandbox Code Playgroud)
该ControlItems物业有internal set和public get访问者,是类型FreezableCollection<CustomItem>.
问题是我遇到了构建错误,说这是不可能的,因为我的ControlItems属性没有可访问的访问set器.
据我所知,WPF支持这种情况(从.NET3.5SP1开始).我错了吗?可能是什么问题?这适用于Grid.RowDefinitions,我尝试添加DesignerSerializationVisibility属性,但它不起作用.
编辑:我注意到,我只收到此错误时,我有一个internal,private或protectedset访问.当我完全删除访问器时,一切都很好.