.net - tutorial - Plantilla de control para controles existentes en WPF
wpf visual studio 2017 (7)
¿Cómo obtener el control del control existente en WPF en formato XAML (árbol visual)? Esto es para ayudar a crear una nueva plantilla de control con la ayuda de la plantilla existente.
Echa un vistazo a StyleSnooper :
http://www.blogs.intuidev.com/image.axd?picture=2010/5/StyleSnooper_TN.png
Va a descargar los estilos estándar (y por lo tanto las plantillas también) para los controles integrados. También puede cargar una DLL específica que contenga controles WPF y ver los estilos predeterminados para esos también.
El libro "Pro WPF en C # 2008", de Matthew MacDonald, incluye un navegador de la Plantilla de Control en el Capítulo 15. Creo que simplemente puede descargar el código de muestra del sitio web de Apress.
La clase XamlWriter le proporciona esta funcionalidad. Si controlName
es el Nombre de un Control y luego usando el fragmento de abajo obtienes el Xaml de la Plantilla del Control dentro del objeto stringBuilder
. Supongo que las herramientas mencionadas en las respuestas utilizan esta clase.
var stringBuilder = new StringBuilder();
var xmlSettings = new XmlWriterSettings
{
Indent = true
};
using (var xmlWriter = XmlWriter.Create(stringBuilder, xmlSettings))
{
XamlWriter.Save(controlName.Template, xmlWriter);
}
Puedes usar una herramienta como ShowMeTheTemplate
Si tiene Expression Blend puede:
- Arrastre el control sobre la superficie de diseño
- Haga clic con el botón derecho en el control y elija Editar plantilla -> Editar copia
Cuando hagas esto, Blend extraerá la plantilla base del control y la declarará explícitamente en el documento / aplicación como un recurso que luego podrás editar a tu gusto. Puedes hacer esto para cualquier control.
Use Microsoft Blend para eso: pegue su código XAML completo en un archivo en esta herramienta y haga clic derecho en el control cuyo árbol visual desea percibir:
Seleccione la opción: Editar plantilla y listo
Los estilos junto con los ejemplos de plantilla están en MSDN para descargar, consulte el enlace Default WPF Themes
.
Sin embargo, también puede ampliar el estilo existente sin redefinir todo utilizando el atributo BasedOn
.