Silverlight – 使用ObservableCollections进行绑定

这无疑是一个新的问题,但我找到了一个无济于事的答案。 我的设置很简单:我在XAML中定义了一个ListBox控件,在同一个类中有一个ObservableCollection 。 我将ObservableCollection绑定到ListBox。

在XAML中此ListBox的层次结构中,我想绑定到给定的MyClass对象,而不是MyClass对象的子属性。

为了澄清,我有XAML,如下所示(我在代码中绑定ObservableCollection):

         

当然有一种方法可以获取ObservableCollection的对象,而不是被迫绑定到它的一个子属性。

如果要使用绑定对象本身,则不必指定Path

        

顺便说一句:您可以使用控件的DataContext属性将控件绑定到对象,而不是您的自定义属性:

        

除了在XAML中指定绑定路径之外,还必须将集合绑定到ListBox。

C#

 ObservableCollection myCollection = new ObservableCollection(); MyListBox.DataContext = myCollection; 

除非您在MyClass上覆盖了ToString方法,否则您使用的XAML将不会特别有用。 即使你说你不是,你确定它不是你想绑定的MyClass的属性吗? 我不明白你为什么要直接绑定到集合对象。

XAML