none
Customizar un boton RRS feed

  • Pregunta

  • Buenas,

    resulta que quiero customizar el estado de un boton o un toggle boton. Estoy utilizando blend para ello. Consigo cambiar cualquier aspecto pero no la textura del mismo. Me gustaria que el botón en estado normal tuviera una textura determinada y en estado "press" otra en otro color (textura -> le aplico una imagen al boton). Cuando me voy a modificar el primer estado se pone la textura correcta y cuando me voy sobre el segundo estado a poner la otra textura se pone pero también la cambia del primer estado. Es algo raro o que no se puede hacer así.

    También lo he detectado si quieres cambiar el background. Como sabeis para cambiar el color del background hay 3 tipos básicos de poder hacerlo (color uniforme, gradiente o textura). He comprobado que si quieres hacer cambios entre los estados del boton solo pueden ser de un mismo tipo, no puedes seleccionar un uniforme para estado "normal" y un gradiente para estado "press".

    saludos


    • Editado Pedro Net miércoles, 26 de octubre de 2011 7:56
    martes, 25 de octubre de 2011 16:44

Respuestas

  • Vale, perdona.

    Con el editor visual no puedes hacerlo, debes hacerlo directamente en XAML:

    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.Background)" Storyboard.TargetName="ButtonBackground">
    	<DiscreteObjectKeyFrame KeyTime="0">
    		<DiscreteObjectKeyFrame.Value>
    			<ImageBrush Stretch="Fill" ImageSource="/SplashScreenImage.jpg"/>
    		</DiscreteObjectKeyFrame.Value>
    	</DiscreteObjectKeyFrame>
    </ObjectAnimationUsingKeyFrames>
    

    Tienes que editar el VisualState y añadir este ObjectAnimationUsingKeyFrames.

    Un saludo,

    Eugenio 


    Eugenio Estrada @eugenioestrada mail@eugenioestrada.es
    • Marcado como respuesta Pedro Net miércoles, 26 de octubre de 2011 13:59
    miércoles, 26 de octubre de 2011 13:45

Todas las respuestas

  • Cuando editas los estados en Silverlight debes estar grabando, lo sabrás porque tienes un icono rojo en la esquina superior izquierda del diseñador. Si está en gris es que estás modificando el estilo por defecto.
    Eugenio Estrada @eugenioestrada mail@eugenioestrada.es
    miércoles, 26 de octubre de 2011 11:24
  • Cuando editas los estados en Silverlight debes estar grabando, lo sabrás porque tienes un icono rojo en la esquina superior izquierda del diseñador. Si está en gris es que estás modificando el estilo por defecto.
    Eugenio Estrada @eugenioestrada mail@eugenioestrada.es


    Está en modo "rec" pero si pruebas lo que pongo verás que no se puede hacer o yo no he conseguido la manera.

    saludos

    miércoles, 26 de octubre de 2011 13:30
  • Vale, perdona.

    Con el editor visual no puedes hacerlo, debes hacerlo directamente en XAML:

    <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.Background)" Storyboard.TargetName="ButtonBackground">
    	<DiscreteObjectKeyFrame KeyTime="0">
    		<DiscreteObjectKeyFrame.Value>
    			<ImageBrush Stretch="Fill" ImageSource="/SplashScreenImage.jpg"/>
    		</DiscreteObjectKeyFrame.Value>
    	</DiscreteObjectKeyFrame>
    </ObjectAnimationUsingKeyFrames>
    

    Tienes que editar el VisualState y añadir este ObjectAnimationUsingKeyFrames.

    Un saludo,

    Eugenio 


    Eugenio Estrada @eugenioestrada mail@eugenioestrada.es
    • Marcado como respuesta Pedro Net miércoles, 26 de octubre de 2011 13:59
    miércoles, 26 de octubre de 2011 13:45
  • Gracias Eugenio. Queria hacerlo en modo visual y no habia pensado solo se puede mediante code.

    saludos

    miércoles, 26 de octubre de 2011 14:06