通过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!");
}
}发布于 2009-12-01 03:32:31
据我所知,在IronRuby中,.NET事件被公开为接受块的方法。所以,你可以这样写:
button1.click do |sender, args|
MessageBox.show("Hello World!")
endThis涵盖了其他选项。
发布于 2009-12-01 15:48:33
如果add对您更有意义,您还可以使用add订阅事件。
p = Proc.new do |sender, args|
MessageBox.show("Hello World!")
end
# Subscribe
button1.click.add p
# Unsubscribe
button1.click.remove phttps://stackoverflow.com/questions/1821866
复制相似问题