尝试了解如何将此静态列表绑定到位于不同窗口的组合框。
public partial class MainWindow : Window
{
public static List<Classes.Entity> EntityList { get; set; }
public MainWindow()
{
EntityList = new List<Classes.Entity>();
InitializeComponent();
}
...
对象:
public class Entity
{
public string entityName { get; set; }
...
XAML(在不同的窗口中,调用“NewRelationship.xaml.cs”
<ComboBox x:Name="cb_from" ItemsSource="{Binding Path=EntityList}" DisplayMemberPath="entityName" SelectedValue="{Binding Path=Entity}" />
当然我稍后会在代码中填写列表...... 如果我将列表移动到newRelationship窗口并添加“this.datacontext = this;”它的工作, 当列表在mainWindow中时,如何使这项工作?感谢...
答案 0 :(得分:1)
更好的方法是将EntityList
保存在两个窗口都可以引用的单独对象中:
class ViewModel
{
private List<Classes.Entity> _entityList = new List<Classes.Entity>();
public IEnumerable<Classes.Entity> EntityList
{
get { return _entityList; }
}
}
partial class MainWindow
{
public MainWindow()
{
InitializeComponent();
this.DataContext = new ViewModel();
}
}
创建第二个窗口时,您可以将ViewModel
类的实例传递给它,并将其设置为DataContext
。