Christian Amado

Christian Amado

Ingeniero de software, desarrollador
Diseñado adaptado de Todd Motto

WPF: RelativeSource utilizando FindAncestor
Jul 20, 2017
lectura de 1 min
Editar entrada

RelativeSource

Es una clase que implementa una extensión de marcado la cual describe la ubicación del origen del enlace con respecto a la posición de destino del enlace.

FindAncestor

Busca elementos antecesores dentro del árbol visual establecido en RelativeSource.

Ejemplos prácticos

Si necesitas enlazarlo con otra propiedad en el objeto:

{Binding Path=PROPIEDAD_A_UTILIZAR, RelativeSource={RelativeSource Self}}

Ejemplo:

<TextBlock Width="{Binding RelativeSource={RelativeSource Self}, Path=Parent.ActualWidth}"/>

Si necesitas obtener una propiedad del antecesor:

{Binding Path=PROPIEDAD_A_UTILIZAR,
    RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type TIPO_DE_DATO_DEL_ANTECESOR}}}

Ejemplo:

<TextBlock Margin="10" Text="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Grid}, AncestorLevel=1},Path=Name}" />

Si necesitas obtener la propiedad de una plantilla padre (aquí se muestra como utilizarlo con RelativeSource):

{Binding Path=PROPIEDAD_A_UTILIZAR, RelativeSource={RelativeSource TemplatedParent}}

Ejemplo:

<TextBlock Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Value, StringFormat=0}"/>

De esta manera hemos visto cómo trabajar con RelativeSource.

Jul 20, 2017

¿Qué versión de ASP.NET Core está instalada?

Para saber que versión de ASP.NET Core tenemos instalada en nuestra máquina se debe ejecutar...

Jul 21, 2017

WPF: Buscar Antecesor en el árbol visual

Si buscamos algún elemento dentro de un objeto en la interfaz de usuario y necesitamos...