Вызов или отправка значений из MainViewModel в другие ViewModels mvvm mvvm light - PullRequest
0 голосов
/ 10 августа 2010

Мы используем легкую среду mvvm для создания нашего приложения.В нашей папке ViewModel у нас есть несколько файлов Viewmodel, таких как orderSupplyViewModel, HouseholdSupplyViewModel и т. Д. В соответствии с различными функциями приложения.Мы включили все эти viewModel в MainViewModel, сделав MainViewModel как частичный класс.Таким образом, вы можете сказать, что у нас есть одна MainViewModel.Теперь мы завершили 40% заявки, и нам нужно разделить модели представлений как один частичный класс.Так что мы можем вызывать разные view-модели из mainviewModel.Как это сделать?Ниже приведен код, созданный для одной модели представления с именем - OrderSuppliesViewModel

namespace ParentalHealthClient.ViewModel
{
    /// <summary>
    /// This class contains properties that a View can data bind to.
    /// <para>
    /// </summary>
    public partial class MainViewModel : ViewModelBase
    {
        private List<UserMedicalSupplyBO> _selectedFavouriteMedicalItems;
        private List<HouseholdItemsBO> _selectedFavouriteHouseHoldItems;
        private List<OrderSuppliesBO> _selectedOrderItems;
        private HouseholdSuppliesDAO _dataAccessForOrder;

        /// <summary>
        /// Initializes a new instance of the OrderSuppliesViewModel class.
        /// </summary>
        public void OrderSuppliesViewModel()
        {


        }

Ответы [ 2 ]

0 голосов
/ 18 января 2011

Вы НЕ должны иметь кучу частичных определений MainViewModel.Вы должны создать отдельные классы ViewModel для каждого типа ViewModel.

В Visual Studio, Solution Explorer,щелкните правой кнопкой мыши папку [ViewModel] -> Добавить -> Новый элемент ... -> Mvvm Light ViewModel.Это должно добавить новый класс ViewModel, который наследует ViewModelBase.

0 голосов
/ 10 августа 2010

Для разъединенной связи инструментарий MVVM Light предоставляет класс мессенджера. Он также может запускать диалоги и предоставлять обратные вызовы. Очень удобно, очень легко, очень полезно.

Посланник описан здесь: http://www.galasoft.ch/mvvm/getstarted/

...