我刚刚开始使用Oxygene。
我正在尝试使用MVVM模式制作一个litlle WPF项目。 到目前为止,它正在工作,但我找不到在oxygene中实现命令的方法。
有谁知道是否可以这样做,如果可以,怎么办?
答案 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));