2012-02-19 9 views
5

Me pregunto cómo pasar por referencia funciona en C#. Si paso un control WPF DataGrid por referencia a una función y poco a poco la función agrega elementos a su colección DataGrid.Items, ¿se actualizará DataGrid en la interfaz de usuario con cada nueva llamada DataGrid.Items.Add()? ¿O solo se actualizará cuando la función regrese? Me gustaría lograr el escenario anterior, por lo que si pasar por referencia no funciona, me gustaría algunos consejos sobre cómo lograr esto. Gracias por adelantado.¿Cómo funciona el paso por referencia realmente en C#?

Respuesta

2

si desea el escenario anterior, luego llame a la función UpdateLayout() de la cuadrícula de datos en la siguiente instrucción después de usar el método Add(). Espero que esto ayude

0

Al igual que una extensión de lo que Ethicallogics dijo que subclase y anula, agrega para que llame UpdateLayout cada vez, entonces no tiene que preocuparse por eso.

En general, es bueno subclasificar todas las clases .net [específicamente para todo lo relacionado con la interfaz de usuario] que necesite, de esa manera si se encuentra con requisitos personalizados, no tiene que hacerlo más tarde. Usa tus propias subclases en todo momento.

2

Pasar por referencia es irrelevante para su situación de todos modos. Pasar por referencia (es decir, ref) le permite asignar a la variable en el alcance de la llamada. No estás tratando de hacer eso. Solo desea acceder a la referencia DataGrid y acceder a su campo Items. Eso no requiere ref en absoluto.

Cuestiones relacionadas