Я относительно новичок в WPF, XAML и привязках данных. У меня есть вид (Окно) и вид-модель.
Я попытался реализовать шаблон MVVM, который означает, что ни представление, ни модель представления не содержат ссылки друг на друга. Весь обмен данными происходит через привязки данных.
Пока все хорошо, но теперь я столкнулся с проблемой, для которой не могу найти решение.
На мой взгляд, у меня есть кнопка Пуск, которая связана с командой.
<Button Command="{Binding NextCommand}" Content="Next">
NextCommand имеет тип ActionCommand : ICommand
В моем случае NextCommand просто вызывает закрытый метод внутри модели представления.
Проблема, которую я пока не могу найти, заключается в следующем:
Как закрыть окно в конце метода просмотра моделей NextCommandAction?
private void NextCommandAction(object o)
{
...
...
// close the window
}
Так как у меня нет ссылки на представление, я не могу просто установить DialogResult = true;
Единственное работающее решение, которое я нашел до сих пор, это добавить скрытую радиокнопку в представление и привязать ее значение к свойству CloseView и создать метод CloseView в файле xaml.cs, который связан с событием Checked скрытая радио-кнопка. В этом методе я установил DialogResult = true;
Хотя это работает, я чувствую, что должно быть лучшее решение, чем добавление скрытых элементов к вашему виду!
Заранее спасибо за помощь!
PS: мне мой вопрос понятен. Если что-то неясно, не стесняйтесь спрашивать.