Caliburn.Micro基于约定的绑定在嵌套视图中不起作用?
问题描述:
我有这个Caliburn.Micro示例项目我放在一起,我遇到了基于约定的嵌套视图/ viewmodels绑定的问题。Caliburn.Micro基于约定的绑定在嵌套视图中不起作用?
作为一个例子,假设我有一个shell视图ShellView,它是一个屏幕导体ShellViewModel。
我有一个绑定到ActiveItem的ShellView中的内容控件(使用x:Name约定),并且ActiveItem的类型为EmployeeListViewModel,所以得到的视图是EmployeeListView。在此视图中嵌套的是由EmployeesDetailsViewModel支持的EmployeeDetailsView,该EmployeeDetailsViewModel绑定到EmployeeListViewModel中的选定项目。
这工作正常,除了在EmployeeDetailsView我不能像文本框和按钮使用Caliburn约定绑定的东西。这工作得很好:
<TextBox Text="{Binding EmployeeID}" />
但既不是这些线路的工作:
<TextBox x:Name="EmployeeID" />
<Button x:Name="ClickMethod" />
的文本框中的文本绑定并不是什么大不了的事,但自动按钮方法转播是约卡利最酷的事情之一.Micro,但它似乎不适用于嵌套视图。
任何想法?
答
我有一种感觉,当你将EmployeesDetailsViewModel(SelectedItem)绑定到EmployeesDetailsView时,你手动执行它。 CM在这一点上没有接线。你可以发布xaml和一些cs的SelectedItem绑定?您是否尝试过
<MyUc:EmployeesDetailsView x:Name="SelectedEmployee" />
并将SelectedEmployee挂起EmployeeListViewModel?
是的,这就是我正在做的,感谢您的帮助! – 2010-11-21 19:17:41