Domanda

Ho questo progetto di esempio Caliburn.Micro Sto mettendo insieme e sto avendo problemi con le associazioni di convenzione-based con vista nested / ViewModel.

Per fare un esempio, diciamo che ho una visione conchiglia, ShellView, sostenuta da ShellViewModel che è un conduttore schermo.

Ho un controllo contenuto nella ShellView tenuta a ActiveItem (usando l'x: Nome convenzione), e l'ActiveItem è di tipo EmployeeListViewModel, quindi la vista risultante è EmployeeListView. Nidificato in questo punto di vista è un EmployeeDetailsView supportato da un EmployeesDetailsViewModel che è legato alla voce selezionata in EmployeeListViewModel.

Questo funziona bene, solo che in EmployeeDetailsView non riesco cose si legano come caselle di testo e pulsanti utilizzando le convenzioni Caliburn. Questo funziona bene:

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

, ma nessuna di queste linee di lavoro:

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

Il legame di testo casella di testo non è un grosso problema, ma il metodo pulsante di aggancio automatico è una delle funzioni più interessanti di Caliburn.Micro, ma non sembra al lavoro in vista nidificate.

Tutte le idee?

È stato utile?

Soluzione

Ho la sensazione che quando si sono vincolanti l'EmployeesDetailsViewModel (SelectedItem) al EmployeesDetailsView che si sta facendo manualmente. CM non è wiring le cose a quel punto. Puoi pubblicare il codice XAML e alcuni cs per il legame SelectedItem? Hai provato

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

E appendere una SelectedEmployee fuori dal EmployeeListViewModel?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top