它是什么经由IronRuby的脚本添加事件处理在XAML UI元素的最简短和简洁的方式?假设:代码添加事件处理程序将被写入的IronRuby脚本和代码,以处理该事件将在相同的IronRuby脚本

我想下面的代码,但是在IronRuby的等同物。处理简单button1的点击事件。

public partial class Window1 : Window
{
    public Window1()
    {
        InitializeComponent();
        button1.Click += new RoutedEventHandler(button1_Click);
    }

    void button1_Click(object sender, RoutedEventArgs e)
    {
        MessageBox.Show("Hello World!");
    }
}
有帮助吗?

解决方案

据我所知,.NET事件暴露服用块IronRuby的方法。所以,你可以这样写:

button1.click do |sender, args|
    MessageBox.show("Hello World!")
end

涵盖其他选项。

其他提示

您也可以使用添加,如果它更有意义,你订阅的事件。

p = Proc.new do |sender, args| 
  MessageBox.show("Hello  World!")
end

# Subscribe
button1.click.add p

# Unsubscribe
button1.click.remove p
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top