Я только начинаю работать с Oxygene.
Я пытаюсь сделать небольшой проект WPF с шаблоном MVVM. Пока это работает, но я не могу найти способ реализовать команды в оксигенте.
Кто-нибудь знает, можно ли это сделать и если да, то как?
Я только начинаю работать с Oxygene.
Я пытаюсь сделать небольшой проект WPF с шаблоном MVVM. Пока это работает, но я не могу найти способ реализовать команды в оксигенте.
Кто-нибудь знает, можно ли это сделать и если да, то как?
Сначала вам нужно создать статический класс в том же проекте, что и форма. так:
Command = public static class
public
SomeCommand: RoutedCommand := new RoutedCommand();
end;
Затем вам нужно создать псевдоним пространства имен XAML (в XAML вашей формы):
xmlns:Local="clr-namespace:YourProjectNameSpace"
Предположим, у вас есть кнопка на форме, и вы хотите подключить ее к команде:
<Button Content="Some Button" Command="{x:Static Local:Command.SomeCommand}" />
Следующим шагом является настройка того, что должна делать команда... В моем случае я просто подключил лямбда-выражение, но вы можете использовать шаблон MVVM, чтобы делегировать это поведение куда-то еще.
Я сделал это в загрузке формы:
self.CommandBindings.Add(new CommandBinding(Command.SomeCommand, (ss,ee) ->
begin
//Do Stuff
//Do some more stuff
end));