Pergunta

Eu tenho este projeto de amostra de Caliburn.micro que estou montando e estou tendo problemas com as ligações baseadas em convenções com visualizações/viewmodels aninhados.

Como exemplo, digamos que eu tenha uma visualização de shell, ShellView, apoiada pelo ShellViewModel, que é um condutor de tela.

Eu tenho um controle de conteúdo no ShellView ligado ao ActiveItem (usando a Convenção X: Nome), e o ActiveItem é do tipo EmployeelistViewModel, portanto a visualização resultante é o EmployeEListView. O aninhado nessa visão é um empregador de varanda empregada apoiada por um FuncionárioDetailsViewModel que está vinculado ao item selecionado no EmployelistViewModel.

Isso funciona bem, exceto que, no EmployeeDetailsView, não posso vincular coisas como caixas de texto e botões usando as convenções de Caliburn. Isso funciona bem:

<TextBox Text="{Binding EmployeeID}" />

Mas nenhuma dessas linhas funciona:

<TextBox x:Name="EmployeeID" />
<Button x:Name="ClickMethod" />

A ligação de texto da caixa de texto não é grande coisa, mas a conexão automática do método do botão é uma das coisas mais legais sobre Caliburn.micro, mas parece não funcionar em visões aninhadas.

Alguma ideia?

Foi útil?

Solução

Tenho a sensação de que você está vinculando o FuncionárioDetailsViewModel (SelectedItem) ao Funcionário que você está fazendo isso manualmente. CM não está ligando as coisas naquele momento. Você pode postar o XAML e alguns Cs para a ligação selecionada? Você tentou

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

E pendurar um empregado selecionado do EmployeelistViewModel?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top