MVVM - как повесить две команды на одну кнопку?
От: Kostya33  
Дата: 26.08.10 06:27
Оценка:
Разбираюсь с Model-View-ViewModel и WPF
Используется также MVVM Toolkit..

Не знаю как правильно добавить к одному объекту два действия(например сохранение списка и закрытие формы).

Есть View (форма с кнопками и списком). Присутствуют кнопки OK и Cancel.
В ViewModel есть команды наподобие

Добавление нового элемента
        private DelegateCommand addItem;

        public ICommand AddItemCommand
        {
            get
            {
                if (addItem == null)
                {
                    addItem = new DelegateCommand(AddItem);
                }
                return addItem;
            }
        }

        private void AddItem()
        {
            this.DataSources.Add(
                new DataSourceSettingsViewModel
                {
                    Name = String.Format("DataSource{0}", this.DataSources.Count + 1)
                });
        }


Привязка к кнопке:

<Button  Content="Add"  Height="23"  Margin="4" Width="75" Command="{Binding AddItemCommand}"/>


ViewModel привязывается ко View через DataContext

Как привязать к кнопке команду понятно. А как привязать две команды ?
Или сделать команду Сохранить_и_Закрыть? В таком случае из ViewModel необходимо отдать приказ View закрыться.
Но ViewModel не имеет представления о View, View биндиться к свойствам ViewModel.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.