IronRuby e Manipulando eventos XAML da interface do usuário
-
10-07-2019 - |
Pergunta
O que é o mais breve e concisa maneira de adicionar manipuladores de eventos para elementos de interface do usuário em XAML por meio de um roteiro IronRuby? Assunção:. O código para adicionar o manipulador de eventos seria escrito no roteiro IronRuby eo código para manipular o evento seria no mesmo script IronRuby
Eu gostaria o equivalente ao seguinte código, mas em IronRuby. Manipulação de um evento button1 simples clique.
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!");
}
}
Solução
Tanto quanto eu sei, eventos .NET são expostos como métodos tomando blocos em IronRuby. Assim, você pode escrever:
button1.click do |sender, args|
MessageBox.show("Hello World!")
end
Isto cobre outras opções.
Outras dicas
Você também pode usar adicionar para inscrever-se um evento se faz mais sentido para você.
p = Proc.new do |sender, args|
MessageBox.show("Hello World!")
end
# Subscribe
button1.click.add p
# Unsubscribe
button1.click.remove p
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow