0

我刚刚开始使用 Oxygene。

我正在尝试使用 MVVM 模式制作一个小 WPF 项目。到目前为止它正在工作,但我找不到在氧气中实现命令的方法。

有谁知道这是否可以做到,如果可以,怎么做?

4

1 回答 1

1

首先,您需要在与表单相同的项目中创建一个静态类。像这样:

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));
于 2013-05-25T09:10:03.877 回答