Передача данных из одной viewmodel в другую. WPF MVVM

Рейтинг: 0Ответов: 0Опубликовано: 22.03.2023

Я пишу программу на c#, wpf по паттерну mvvm. Возник вопрос, как передать данные из одной viewmodel в другую. Перерыл кучу похожих статей, но так и не смог разобраться.

У меня есть View, которая содержит информацию о поставках, при нажатии на кнопку появляется UserControl, в котором можно изменять выбранную, на предыдущем UserControl, запись.

    //Поле и свойство выбираемой записи
    private SupplyModel _selectedSupply;
    public SupplyModel SelectedSupply
    {
        get => _selectedSupply;
        set
        {
            _selectedSupply = value;
            OnPropertyChanged(nameof(SelectedSupply));

            OnPropertyChanged(nameof(SelectedSupplyWorkers));
        }
    }
    
    //Команда для отображения view для редактирования
    private void ExecuteShowAddSupplyCommand(object? obj)
    {
        CurrentChildView = new EditSupplyViewModel();
        IsEnabled = false;
        BackVisibility = Visibility.Visible;
    }

Соответственно вопрос, как я могу передать SelectedSupply из SupplyViewModel в EditSupplyViewModel? UserControl отображается в ContentControl

    <ContentControl HorizontalAlignment="Right"
                    Width="{Binding ActualWidth, ElementName=WidthDockPanel}"
                    Content="{Binding CurrentChildView}">

   <UserControl.Resources>
      <DataTemplate DataType="{x:Type viewmodel:EditSupplyViewModel}">
         <local:EditSupplyView/>
      </DataTemplate>
   </UserControl.Resources>

Ответы

Ответов пока нет.