Frage

Was es ist die kurze und prägnante Art und Weise Event-Handler UI-Elemente in XAML über einen IronRuby Skript hinzuzufügen? Annahme:. Der Code der Event-Handler hinzufügen würde im IronRuby Skript und der Code geschrieben werden, um das Ereignis zu behandeln in der gleichen IronRuby Skript würde

Ich möchte das Äquivalent des folgenden Code aber in IronRuby. Umgang mit einem einfachen button1 Click-Ereignisse.

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!");
    }
}
War es hilfreich?

Lösung

So weit ich weiß, sind .NET Ereignisse als Methoden ausgesetzt Blöcke in IronRuby nehmen. So können Sie schreiben:

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

Diese umfasst auch andere Optionen.

Andere Tipps

Sie können auch ein Ereignis verwenden hinzufügen zu abonnieren, wenn es mehr Sinn macht für Sie.

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

# Subscribe
button1.click.add p

# Unsubscribe
button1.click.remove p
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top