Я переписываю проект в WPF с использованием рамки Caliburn. Я пришел из мира C++, так что некоторые трудности выясняют даже простейшие вещи ...Caliburn MVVM диалог WPF с действием ОК
Итак, предположим, что у меня есть: MainView, MainViewModel, DialogView, DialogViewModel.
В MainView.xaml: ...
<MenuItem Name="Dialog" Header="Dialog"></MenuItem>
... Caliburn ограничивает его метода в MainViewModel:
public void Dialog()
{
dynamic settings = new ExpandoObject();
settings.WindowStartupLocation = WindowStartupLocation.Manual;
_windowManager.ShowWindow(new DialogViewModel(_windowManager), null, settings);
}
Он отлично работает, появляется диалоговое окно.
Теперь, в этом диалоге у меня есть:
<TextBox Name="Dimension1"/>
<TextBox Name="Dimension2"/>
плюс, другие Textboxes, флажков и т.д. Тогда Есть OK и Отмена:
<Button Content="OK" Name="OK"></Button>
<Button Content="Cancel" Name "Cancel"></Button>
Теперь, как это прямо сейчас они привязаны к методам OK() и Cancel() в DialogViewModel, и я не могу понять или найти информацию о том, как с ними работать в DialogViewModel.
Я нашел пример, когда создается класс DialogResultsAction, я связан мой OK/Отмена кнопки с методами в этом классе, но не может понять, как действовать дальше ...
Можете ли вы посоветовать мне, в каком направлении следует Я хожу?
Вы смотрели на образцы, которые приходят с Caliburn микро? Если вы не используете микро, вы можете посмотреть на него. –
Я использую Micro. Посмотрим на образцы. Можете ли вы порекомендовать конкретный вариант? – user1298416
Я смотрю HelloWindowManager - когда пользователь нажимает на определенную кнопку в диалоговом окне, он передает datacontext кнопки в ViewModel.В моем случае у меня есть около 20 текстовых полей, флажки, радиокнопки в одном диалоговом окне, должен ли я передавать их все как параметры в ViewModel или есть более элегантный способ сделать это? – user1298416