如何通过 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 上的 属性。正如我目前阅读的那样,它只是一个变量,在您离开定义它的方法(我认为是构造函数)后,它会超出范围。
我想通过创建 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 上的 属性。正如我目前阅读的那样,它只是一个变量,在您离开定义它的方法(我认为是构造函数)后,它会超出范围。