在Oxygene中有类似WPF命令的东西吗?

时间:2013-05-24 11:13:28

标签: wpf command oxygene

我刚刚开始使用Oxygene。

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

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

1 个答案:

答案 0 :(得分: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));