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

时间:2010-11-18 04:14:42

标签: silverlight xaml mvvm caliburn.micro

我有这个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最酷的事情之一,但它似乎不适用于嵌套视图。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

当您将EmployeesDetailsViewModel(SelectedItem)绑定到您手动执行的EmployeesDetailsView时,我有一种感觉。 CM当时没有接线。你可以为SelectedItem绑定发布xaml和一些cs吗?你试过吗

<MyUc:EmployeesDetailsView x:Name="SelectedEmployee" />

将SelectedEmployee挂起EmployeeListViewModel?