如何通过 DataContext 将 Collection 传递给 UserControl 的 ListBox?

How to pass Collection through DataContext to UserControl's ListBox?

我想通过创建 UserControl 将 ListBox 与 MainMenu 分开。在 MainWindow 中,出于测试目的,我正在创建 ObservableCollection(在 code-behind 中),在 MainWindow.xaml 中,我试图通过 DataContext 将此 Collection 传递给 UserControl

MainWindow.xaml.cs

ObservableCollection<ListItem> coll = new ObservableCollection<ListItem>() 
{ 
    new TextListItem 
    {
        Content = "Some Text", CreationDate = DateTime.Now, VisibleName = "Title" 
    } 
};

MainWindow.xaml

<userControls:ListBoxUserControl DataContext="{Binding Path=coll}"/>

ListBoxUserControl.xaml 中,我正在尝试像那样访问 Collection

<ListBox x:Name="listBox" ItemsSource="{Binding}"/>

但是好像不行。如何正确地通过 DataContext 传递 Collection?

coll 应该是 MainWindow class 上的 属性。正如我目前阅读的那样,它只是一个变量,在您离开定义它的方法(我认为是构造函数)后,它会超出范围。