He estado usando Expression Blend para copiar las plantillas predeterminadas para los controles de WPF 4.0. Estoy escribiendo un artículo de CodeProject sobre cómo extender los controles de WPF, y me gustaría recomendar una herramienta gratuita como alternativa. ¿Qué sugieres? Gracias por tu ayuda.¿Cómo tomar las plantillas predeterminadas de control de WPF 4.0?
Respuesta
En versiones anteriores de WPF los estilos estaban disponibles en este enlace MSDN. Puede intentar cambiar a versiones anteriores para ver los enlaces de descarga. Lamentablemente, esto aún no se ha actualizado para .NET 4.0.
Hasta que eso ocurra, si alguna vez puede usar Reflector con el complemento BamlViewer. Una vez que tenga que instalar, que le abra uno de estos conjuntos utilizando caché abierta:
- PresentationFramework.Aero
- PresentationFramework.Classic
- PresentationFramework.Luna
- PresentationFramework.Royale
Asegúrese de seleccionar las versiones 4.0.0.0. Luego expanda el ensamblado y los nodos de Recursos asociados. Seleccionó la entrada del recurso y presiona la barra espaciadora para ver el Desensamblador. Luego puede ver los archivos BAML, que puede ver el XAML usando BamlViewer. El único inconveniente es que pierdes el formato original.
EDIT:
.NET 4 estilos pueden ser descargados de here. Más específicamente, el enlace Default WPF Themes en el segundo párrafo. Alternativamente, puede explorar en controles específicos para ver un ejemplo de estilo.
MSDN los enumera para los controles de Silverlight:
http://msdn.microsoft.com/en-us/library/cc278069(VS.95).aspx
, pero no puedo encontrar una lista similar para los controles de WPF. La página de WPF correspondiente es esto y misteriosamente en ausencia de una lista de plantilla:
http://msdn.microsoft.com/en-us/library/ms753328.aspx
pesar de todo, es fácil de agarrar las plantillas. A partir de aquí:
http://msdn.microsoft.com/en-us/magazine/cc163497.aspx#S1
Control ctrl = GetControl(); // any type deriving from Control
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = new string(' ', 4);
settings.NewLineOnAttributes = true;
StringBuilder strbuild = new StringBuilder();
XmlWriter xmlwrite = XmlWriter.Create(strbuild, settings);
// Save the template to the XAML writer
XamlWriter.Save(ctrl.Template, xmlwrite);
XamlPadX tiene un botón "Abrir/Cerrar estilos de ventana" que muestra poco diálogo que le permite ver los estilos.
favor, eche un vistazo a este artículo: http://eggheadcafe.com/tutorials/aspnet/d1ad0a33-d815-4083-8e97-c234fd661095/wpf-controls-default-style-or-template-by-extending-the-wpf-designer-in-visual-studio-2010.aspx. Extendí al diseñador de WPF para que incluyera obtener el estilo o la plantilla predeterminados a través de un menú contextual del control seleccionado. Simplemente cree la solución de Visual Studio y establezca las entradas de registro para cargar los metadatos. La desventaja es que el formato XAML no es como el de Expression Blend.
Las plantillas de control para los controles WPF 4.0 ahora se pueden encontrar here.
Sin embargo, puede extender o anular una plantilla de control sin tener que reproducir el original, utilizando la propiedad Style.BasedOn
. Se explica en this blog post.
o instalar Expression Blend (ensayo) e ir a por debajo de la ubicación:
C:\Program Files\Microsoft Expression\Blend 4\SystemThemes\Wpf
- 1. Cómo localizar el control DatePicker WPF 4.0
- 2. Conjuntos faltantes en plantillas de proyecto predeterminadas
- 3. WPF DataGrid Plantilla de control
- 4. C# WinForms propiedades predeterminadas de control personalizado
- 5. Cómo usar las herramientas predeterminadas de Android
- 6. DateTimePicker para WPF 4.0
- 7. ¿Cómo puedo ocultar algunas de las propiedades de control predeterminadas en tiempo de diseño (C#)?
- 8. WPF Custom Control con diferentes estilos o plantillas?
- 9. Eliminar las aplicaciones predeterminadas de Django-admin
- 10. Problema de representación de fuente WPF 4.0
- 11. Manejo de eventos de WPF User Control
- 12. WPF herencia de control
- 13. Control de nube de etiquetas para WPF
- 14. Cómo tomar el control de las hojas de estilo en ASP.NET Temas con la StylePlaceHolder y Estilo de control
- 15. Diferencia entre estilos y plantillas de control
- 16. Control de crucero .NET 4.0 MSBUILD Logger
- 17. ¿Cómo se configuran las opciones de compilación predeterminadas para XE2?
- 18. ¿Cómo configuro programáticamente las propiedades de tabla predeterminadas para CKEditor?
- 19. Cómo colocar las pestañas WPF Tab Control en el lado
- 20. ¿Por qué las plantillas no pueden tomar tipos locales de funciones?
- 21. Plantillas de datos condicionales en WPF
- 22. .NET 4.0 WPF Excepción de automatización
- 23. Silverlight (4.0) para usuarios de WPF
- 24. ¿Dónde puedo encontrar las plantillas XAML para un WGD DataGrid?
- 25. ¿Cómo se analizan las plantillas de django?
- 26. ¿Cómo desinstalar las plantillas de Cocos2d?
- 27. ¿Cómo lidiar con las plantillas de Codeigniter?
- 28. WPF control de usuario dentro de otro control de usuario
- 29. wpf ancho de control vinculante
- 30. WPF Custom Control TemplateBinding
Desafortunadamente, XamlPadX no se ha actualizado para WPF 4.0. No tiene ninguno de los controles nuevos, como el Calendario. –