Как создать экземпляр коллекции в пользовательском элементе управления непосредственно в XAML?C#

Место общения программистов C#
Anonymous
Как создать экземпляр коллекции в пользовательском элементе управления непосредственно в XAML?

Сообщение Anonymous »

Для некоторых элементов управления, таких как ComboBox, допустимы следующие способы добавления элементов в коллекцию Items вместо использования свойства ItemsSource:

Код: Выделить всё















Item1

Item2

Следующие строки в документации для класса ComboBoxItem, похоже, подразумевают, что во всех трех примерах (даже в том, в котором используются элементы x:String) элементы автоматически оборачивается внутри ComboBoxItems:

Класс ComboBoxItem предоставляет контейнер для элементов, отображаемых в элементе управления
ComboBox. Вы заполняете ComboBox, добавляя объекты непосредственно
в его коллекцию Items или привязывая его свойство ItemsSource к
источнику данных. Когда элементы добавляются в ComboBox, контейнер ComboBoxItem
создается автоматически для каждого элемента в коллекции.
Вы можете указать внешний вид ComboBoxltem, задав для ComboBox
ItemContainerStyle к стилю с TargetType
ComboBoxItem.

Как создать пользовательский элемент управления, который будет вести себя аналогичным образом? т. е. CustomControl, который автоматически оборачивает данные, добавленные в его коллекцию Items, внутри контейнеров CustomControlItem.
Мне удалось сделать что-то близкое, добавив ObservableCollection Items DependencyProperty в мой индивидуальный контроль. Однако это не совсем то, что мне нужно, поскольку он работает только с элементами x:String, а я не могу x:Bind значение (afaik).

Подробнее здесь: https://stackoverflow.com/questions/783 ... ly-in-xaml

Вернуться в «C#»