Сценарий действительно прост. У меня есть свойство коллекции только для чтения моего пользовательского элемента управления, и я хочу установить элементы коллекции в XAML. Как это:
<l:CustomControl>
<l:CustomControl.ControlItems>
<l:CustomItem />
<l:CustomItem />
</l:CustomControl.ControlItems>
</l:CustomControl>
Свойство ControlItems
имеет методы доступа internal set
и public get
и имеет тип FreezableCollection<CustomItem>
.
Дело в том, что я получаю ошибки сборки, которые говорят, что это невозможно, потому что мое свойство ControlItems
не имеет доступного set
средства доступа.
Как я знаю, этот сценарий поддерживается в WPF (начиная с .NET3.5SP1). Я ошибся? В чем может быть проблема? Это работает с Grid.RowDefinitions
, я пытался добавить атрибут DesignerSerializationVisibility
, но он не работал.
Редактировать: я заметил, что я получаю эту ошибку, только когда у меня установлен метод доступа internal
, private
или protected
. Когда я полностью удаляю аксессор, все нормально строится.