2009-03-15 11 views
35

En mi proyecto de Silverlight, me gustaría hacer un ensamblaje que contenga .xaml que no se pueda ver desde fuera del ensamblaje. Sin embargo, no hay una manera clara de que pueda hacer esto. Cuando modifico el modificador de acceso en el archivo .xaml.cs, el compilador me dice:Creación de un archivo XAML interno en .Net

Partial declarations of "My xaml class here" have conflicting accessibility modifiers 

En el archivo XAML en sí, no parece ser un lugar para poner mi modificador de acceso. En resumen, ¿cómo configuro la clase asociada con mi archivo xaml en internal?

Respuesta

85

Debe agregar x:ClassModifier="internal" en la etiqueta UserControl del archivo XAML si cambia la visibilidad de la clase en el archivo .cs a interna.

El archivo generado a partir del archivo XAML (por ejemplo MyControl.g.cs) debe coincidir con el archivo de código subyacente (por ejemplo MyControl.cs). x:ClassModifier le permite controlar la visibilidad de la declaración de la pieza en el archivo MyControl.g.cs.

+9

Lo que deberían haber hecho es dejar la clase parcial sin marcar en la salida generada y agregar "público" a la plantilla predeterminada de código subyacente ... –

+0

¡Gracias por esto! –

Cuestiones relacionadas