Pregunta

Estoy creando una serie de controles personalizados para un proyecto de Silverlight 4. He creado con éxito un control y estoy preguntando si puedo definir más en el mismo proyecto y luego tener todos los controles agrupados en una DLL.

En este momento, tengo los archivos estándar para el primer control:

/Resources/icon.png
/themes/generic.xaml 
/CustomControl1.cs
/CustomControl1EventArgs

Estoy pensando que no es posible, ya que sólo puede haber un "generic.xaml".

Gracias,

Scott

¿Fue útil?

Solución

Sí se pueden crear varios controles en el mismo proyecto, sólo tiene que colocar las todas las plantillas predeterminadas en un solo archivo /themes/generic.xaml. Cada plantilla controles se identifica por el TargetType. Así que su archivo generic.xaml sería algo como: -

 <ResourceDictionary ... blah namespace stuff ...>

   <Style TargetType="local:CustomControl1">
     <Setter Property="Template">
       <Setter.Value>
         <ControlTemplate TargetType="local:CustomControl1">
           <!-- Template for Custom control 1 -->

          </ControlTemplate>
       </Setter.Value>
     </Setter>
   </Style>

   <Style TargetType="local:CustomControl2">
     <Setter Property="Template">
       <Setter.Value>
         <ControlTemplate TargetType="local:CustomControl2">
           <!-- Template for Custom control 2 -->

          </ControlTemplate>
       </Setter.Value>
     </Setter>
   </Style>

   <!-- and so on -->

</ResourceDictionary>

Los chapies juego de herramientas tienen una herramienta ordenada que le permite colocar cada plantilla de control en su propio archivo. La herramienta construye dinámicamente el generic.xaml de los contenidos de estos archivos. Realmente deseo que habían blog sobre ella, así que podía encontrar la manera de utilizar nosotros mismos. Hola alguno de ustedes Msofties Lurky escuchando?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top