WPF: Xaml, erstellen Sie eine observable-collection<Objekt> in xaml in .NET 4.0
die web-site sagt, man kann in .NET 4.0
Ich kann nicht scheinen, es zu tun, obwohl, was assesmbly Referenzen und xmlns' brauche ich
der folgende Code funktioniert nicht
xmlns:coll="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib"
<coll:ObservableCollection x:TypeArguments="x:Object">
<MenuItem Command="ApplicationCommands.Cut"/>
<MenuItem Command="ApplicationCommands.Copy"/>
<MenuItem Command="ApplicationCommands.Paste"/>
</coll:ObservableCollection>
Du musst angemeldet sein, um einen Kommentar abzugeben.
ObservableCollection<T> definiert wird, in der System Montage, so dass Ihr Namensraum (namespace) sollte Lesen:
Können Sie feststellen, dass Informationen in MSDN an der Spitze, wo es heißt:
Namespace: System.Sammlungen.ObjectModel
Montage: System (in System.dll)
XMLNS für XAML: Nicht zugeordnet xmlns.
Beachten Sie, dass die Montage hat sich geändert zwischen v3.5 und v4.0. In v3.5 definiert wurde, in der WindowsBase assembly. Dies war jedoch ein Nachteil, da Sie oft verwenden möchten, um die Klasse ohne jede WPF-Assemblys, auf die verwiesen wird. Also vielleicht das ist, warum Sie es geändert.
Darüber hinaus sollten Sie auch prüfen,in diesem blog-post, die sagt, dass das neue XAML-features sind nicht komplett verfügbar in VS noch!
The name "ObservableCollection" does not exist in the namespace "clr-namespace:System.Collections.ObjectModel;assembly=System".
. Mit derObservableCollection
im code funktioniert in der Tat.Erkenne ich, dass dies ist eine alte Frage, aber ich kam gerade über das gleiche problem während der Arbeit an einer Windows Store-App. Nach mehreren Problemen, die ich herausgefunden, dass der einfachste Grund, warum definieren so eine Sammlung in XAML ist, einfach erstellen Sie eine Unterklasse:
Und dann verwenden Sie es wie so