2-й раз привязка к PointCollection не отображается - PullRequest
1 голос
/ 13 июля 2011

У меня есть ItemsControl, для которого ItemsSource я назначаю (через код) набор ObservableCollection (назовем его Items) объектов INotifyPropertyChanged (модель данных).Эта модель данных имеет свойство PointCollection.

Представление (XAML) связывается с этим PointCollection в PolyLine (в атрибуте Points).Первоначально, когда я устанавливаю эту коллекцию Items в ItemsControl.ItemsSource, я вижу, что строки действительно отображаются.

Проблема: Когда я устанавливаю ItemsControl.ItemsSource в другое значение (например, другое).ObservableCollection, у которого нет строк). Затем я возвращаю исходную коллекцию, но я не могу видеть строки, хотя коллекция ДОЛЖНА отображать их, потому что модель данных коллекции содержит PointCollection.

Из чегоЯ смог исследовать, есть кое-что особенно сложное в привязке к PointCollection.Мне было интересно, сталкивался ли кто-нибудь с этим раньше и / или знал, как заставить это сделать рендеринг (то есть сделать недействительным элемент управления, чтобы каким-то образом вызвать перерисовку) ???

Спасибо.

1 Ответ

1 голос
/ 15 июля 2011

Элвин,

Понятия не имею, сработает ли это, но вы пытались создать новую коллекцию PointCollection?

PointCollection newCollection = new PointCollection( oldCollection );
myItemsControl.ItemsSource = newCollection;

Если это не сработает, возможно, потребуется использовать более синтаксис на основе WPF:

myItemsControl.SetValue( ItemsControl.PointsProperty, newCollection );

Я сам борюсь с некоторыми проблемами PointCollection, поэтому, если какой-либо из этих вариантов поможет, дайте мне знать.

...