我有这个Caliburn.Micro示例项目我正在整理,我遇到了嵌套视图/视图模型的基于约定的绑定问题。
作为一个例子,假设我有一个Shell视图,ShellView,由ShellViewModel支持,它是一个屏幕导体。
我在ShellView中有一个绑定到ActiveItem的内容控件(使用x:Name约定),而ActiveItem的类型为EmployeeListViewModel,因此生成的视图是EmployeeListView。嵌套在此视图中的是EmployeeDetailsView支持的EmployeeDetailsView,它绑定到EmployeeListViewModel中的选定项目。
这很好用,除了在EmployeeDetailsView中我不能使用Caliburn约定绑定文本框和按钮之类的东西。这很好用:
<TextBox Text="{Binding EmployeeID}" />
但这两条线都不起作用:
<TextBox x:Name="EmployeeID" />
<Button x:Name="ClickMethod" />
文本框文本绑定不是什么大问题,但自动按钮方法连接是Caliburn.Micro最酷的事情之一,但它似乎不适用于嵌套视图。
有什么想法吗?
答案 0 :(得分:2)
当您将EmployeesDetailsViewModel(SelectedItem)绑定到您手动执行的EmployeesDetailsView时,我有一种感觉。 CM当时没有接线。你可以为SelectedItem绑定发布xaml和一些cs吗?你试过吗
<MyUc:EmployeesDetailsView x:Name="SelectedEmployee" />
将SelectedEmployee挂起EmployeeListViewModel?