我刚刚开始使用 Oxygene。
我正在尝试使用 MVVM 模式制作一个小 WPF 项目。到目前为止它正在工作,但我找不到在氧气中实现命令的方法。
有谁知道这是否可以做到,如果可以,怎么做?
首先,您需要在与表单相同的项目中创建一个静态类。像这样:
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}" />
下一步是设置命令应该做什么......在我的例子中,我只是连接了一个 lambda 表达式,但您可以使用 MVVM 模式将此行为委托给其他地方。
我在表单的加载中这样做了:
self.CommandBindings.Add(new CommandBinding(Command.SomeCommand, (ss,ee) ->
begin
//Do Stuff
//Do some more stuff
end));