Wpf – En una biblioteca de controles wpf, como se cambia el modificador de acceso a Friend usando los atributos [x:ClassModifier] y [x:FieldModifier]
Imagina que eta creando un control, más o menos complicado, y para facilitar la tarea, diseñas unos controles auxiliares para componer el conjunto. A la hora de compilarlo como una Dll no interesa que estos controles auxiliares se vean, es decir, hay que cambiar su modificador de acceso a "Friend"
Después de dar muchas vueltas, (pero muchas) la solución es tan sencilla que me he tirado de los pelos pensando en la cantidad de tiempo invertida en encontrarla.
Ejemplo
<UserControl x:Class="Uc_TreeViewDirectory" x:ClassModifier="Friend" (etc, etc) />
Si te aparece un error del tipo:
El acceso especificado 'Public' para 'Uc_NombreControl' no coincide con el acceso 'Friend' especificado en uno de sus tipos parciales
Quiere decir que se te ha olvidado el segundo paso, poner el calificador "Friend" en el código (behind)
Como cambio el calificador de acceso de un control Hijo de un control
Para cambiar el calificador de un control interno (por ejemplo el control Grid, o el control TextBox) hay que dar dos pasos., primero darle nombre con el atributo x:Name y después usar el calificador de acceso con el atributo x:FieldModifier
Ejemplo
<Grid x:Name="nombreParaEsteControlGrid" x:FieldModifier="Private"> (etc) (etc) </Grid>
Para que esto funcione tienen que estar los dos atributos a la vez. Si falta x:Name, entonces no funciona, aunque el compilador " suele indicar el error" pero no todas las veces.
© 1997 - - La Güeb de Joaquín | |||||
Joaquín Medina Serrano
|
|||||
|
Codificación | |
Fecha de creación | |
Última actualización | |
![]() |