2011-01-11 15 views

Respuesta

17

Algo como esto ...

this.btnTest.Click+=new RoutedEventHandler(btnTest_Click); 
+0

De hecho también es necesario para el control deslizante. parece diferente al botón – user310291

+3

¿Realmente MSDN? A continuación, apunte la url hacia mí para deslizar. -1. – user310291

0

WPF no es una lengua nueva, es decir, que es exactamente el mismo concepto. Lo único que puede cambiar es el tipo de delegado. Entonces sí, lo harías de la misma manera.

+0

no me parece así. Por ejemplo, el botón y el control deslizante no parecen similares a los de winform. Todavía está buscando la sintaxis correcta para el control deslizante. – user310291

+0

No es una cuestión de sintaxis; está usando C# si su API de UI es WinForms o WPF. Probablemente no estés asignando el tipo de delegado correcto. Nos ayuda a decirnos qué error está recibiendo. –

+0

@Ed Swangren, pero ¿no son algunas de las bibliotecas ligeramente diferentes de Winforms a WPF? Sé que solo la programación en winforms frente a Silverlight que, si bien es de hecho el código de C# detrás, los nombres de sintaxis/propiedad son diferentes para la misma tarea. WPF puede ser diferente, sin embargo. Aunque pensé que los tres usaban bibliotecas ligeramente diferentes. Puedo estar equivocado. – AmbiguousX

5

Si agrega el nuevo evento del lado XAML, el IDE hace la mayor parte del trabajo por usted.

Por ejemplo, si escribe

<Button Name="button1" Click= 

el IDE aparecerá con una lista desplegable de todos los eventos creados actualmente.

Puede seleccionar uno de los eventos creados previamente, o crear uno nuevo mediante la opción "Gestor de Eventos Nuevo"

Si selecciona "Gestor de Eventos Nuevo", a continuación, VS añade automáticamente el esqueleto para que en el form.xaml.cs C-code-behind. Simplemente agregue lo que quiera que haga el evento click dentro del esqueleto ya hecho.

Espero que esto ayude!

+1

Sí, pero para personas como OP es útil saber realmente cómo funcionan las cosas cuando se rompe la capa de abstracción de la interfaz de usuario. –

+0

@Ed Swangren, eso es definitivamente cierto, la técnica anterior es exactamente lo que siempre he usado en mi pequeña experiencia de programación y aún no ha fallado, así que sigo rodando :) – AmbiguousX

+2

Por supuesto, eso es lo que yo haría hacerlo porque sé cómo funcionan las cosas bajo las sábanas. Desafortunadamente, las personas que pueden ver a través de ellas pueden usar abstracciones;) –

8

Prueba esto:

button1.AddHandler(Button.ClickEvent, new RoutedEventHandler(button1_Click)); 

entonces usted tiene que crear una función como esta

void button1_Click(object sender, RoutedEventArgs e) 
    { 
     throw new NotImplementedException(); 
    } 
Cuestiones relacionadas