Я хочу использовать класс ObservableCollection в Net 4.5 с помощью xaml.Как объявить пространство имен ObservableCollection в xaml
Это, как я указать пространство имен в XAML:
xmlns:coll="clr-namespace:System.Collections.ObjectModel;assembly=System"
И декларации коллекции, как это:
<ic:MyControl.Resources>
<coll:ObservableCollection x:TypeArguments="commands:Command" x:Key="CommandCollection"/>
</ic:MyControl.Resources>
Я получаю эту ошибку компиляции:
The tag 'ObservableCollection' does not exist in XML namespace 'clr-namespace:System.Collections.ObjectModel;assembly=System'.
Я думаю, что имя сборки может быть неправильным, но поиск на форумах здесь сказал, что это сборка системы. Может ли кто-нибудь сказать мне, что происходит не так?
Вы проверили http://stackoverflow.com/questions/2695847/wpf-xaml-create-an-observable-collectionobject-in-xaml-in-net-4-0? –
Если вы объявляете это в элементе управления WPF, который будет скомпилирован в Baml, то вы застряли в спецификации языка Xaml2006, и вы не можете использовать 'x: TypeArguments' где угодно, но в корневом элементе. Xaml2009 позволяет использовать его в любом месте, но вы можете использовать Xaml2009 только для файлов Xaml, которые вы загружаете вручную во время выполнения. –
Какой смысл хранить 'ObservableCollection' в представлении, более того, в ресурсах представления? Что-то не так с вашим кодом. –
Dennis