[email protected]

Asunción, PARAGUAY

Ingeniería y desarrollo de software, emprendimiento, cursos

20 de julio de 2017

RelativeSource utilizando FindAncestor

.NET

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.

Hey, we've just launched a new custom color Blogger template. You'll like it - https://t.co/quGl87I2PZ
Suscribíte al boletín