español controles app wpf xaml

wpf - controles - {x: nulo} vs. transparente?



xaml pdf español (4)

Ambos establecen el valor local de la propiedad Background . El primero lo establece en null y el segundo lo establece en Brushes.Transparent .

Hay un par de puntos importantes a tener en cuenta:

  • Establecer el valor en null no es lo mismo que no configurarlo en absoluto. Como las propiedades de dependencia obtienen su valor efectivo de múltiples fuentes , establecer un valor local (incluso si es null ) puede tener prioridad sobre los valores potencialmente originados en otro lugar, como un estilo o animación.
  • Otra opción para controlar la visibilidad de la prueba de aciertos es la propiedad IsHitTestVisible . Esta propiedad le permite controlar la visibilidad de la prueba de impacto independientemente del pincel con el que se represente el UIElement .

¿Cuál es la diferencia entre los siguientes dos?

Background="{x:Null}"

y

Background="Transparent"


Los elementos con fondo Transparent reciben eventos de clic del mouse al hacer clic en el fondo, los elementos con Null no.


Transparent creará un pincel que se inicializa en un color transparente, null establecerá la propiedad en nulo, esto significa que la propiedad de destino no tiene un pincel adjunto. En WPF a menudo es importante establecer un pincel para un elemento. Si, por ejemplo, desea rastrear mouse downs en un elemento, debe establecer un fondo. Si no desea establecer un color sólido (hacerlo opaco), puede usar un pincel transparente. Esto se puede hacer con el valor de cadena "Transparente".
La diferencia radica en la forma en que se establecerá la propiedad. Si asigna null para una propiedad de pincel, la propiedad se establecerá realmente en nulo. Si configura la cadena "Transparente", el value-converter predeterminado que convierte la cadena en pinceles lo convierte en el pincel Brushes.Transparent .

Versión corta : {x:Null} establece la propiedad de destino en nulo. "Transparente" establece la propiedad de destino en un pincel transparente.