Может быть, вы указали значение по умолчанию в DependencyProperty
UIPropertyMetaData? Поскольку DependencyProperty
является статическим, заданное там значение по умолчанию будет одинаковым (справочное) для всех экземпляров вашего элемента управления. Это безвредно при использовании типов значений, но когда ваше свойство является ссылочным типом, вы должны будете установить его начальное значение, используя .ctor()
вашего элемента управления (или любой другой способ экземпляра), чтобы создать отдельные начальные значения.
Полагаю, в вашем приложении дважды реализован этот элемент управления, предположительно с использованием MVVM DataTemplate
? Первый экземпляр добавит столбцы к статической коллекции ColumnCollection, созданной с использованием значения по умолчанию, и секод также снова будет использовать этот экземпляр.
Вы можете убедиться в этом, посмотрев на значение по умолчанию ToString () вашего ColumnCollection, оно будет содержать хеш-значение для ссылки.
Чтобы решить, просто установите значение по умолчанию для ColumnConfigurationProperty равным нулю.