I know this question has been asked before. Я не удовлетворен ответом, который был дан. Я ищу решение для компиляции. Есть ли способ сказать скрыть членов Items
и ItemSource
, не нарушая функциональность класса, или это не ожидаемая функциональность? Например, могу ли я создать ItemsControl<T>
посредством отражения ItemsControl
и смены кода или как я могу это сделать?Ограничить время компиляции данных ItemsControl
Чтобы разработать, я создаю элемент управления SlideShow для отображения изображений в слайд-шоу. Он наследует элемент ItemsControl, поскольку он имеет несколько дочерних элементов, но я хотел бы ограничить его доступ к объектам изображения только потому, что мне нужен доступ к этим объектам. Я хотел бы использовать это ограничение во время компиляции, чтобы я мог безопасно получать доступ к определенным членам изображения, не беспокоясь о том, какие у них типы.
Ну, вы можете наследовать элемент ItemsControl и создать класс с этим. Это может быть жизнеспособным решением для времени компиляции. Помимо этого вы можете добиться этого только с помощью Runtime. – Thanigainathan
Да, вы можете наследовать и создать класс, как я упоминал в вопросе ... Вы также можете скрыть элементы Items и ItemSource, однако остальная часть функциональности класса будет нарушена, так как она использует внутреннюю структуру для хранения пункты и т. д. –
Вы не хотите хранить свои изображения в ObservableCollection?Он может быть привязан к ItemsControl для отображения содержащихся изображений любым способом, который вы хотите, и является типичным, чтобы вы могли манипулировать элементами. – Benjamin