Caliburn.Micro基于约定的绑定在嵌套视图中不起作用?

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?

+0

是的,这就是我正在做的,感谢您的帮助! – 2010-11-21 19:17:41