visual tutorial studio que presentacion metodos examples espaƱol ejemplos application .net wpf controltemplate

.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.



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); }



Si tiene Expression Blend puede:

  1. Arrastre el control sobre la superficie de diseño
  2. 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 .