¡Ese setter bueno!

Los dichosos Setters cuado van con Bindings son más chungos que los falsetes de Shakira, por eso, y para que no se te vaya de la mollera, ahí tienes un ejemplo. Básicamente se trata de notar que el Setter de la propiedad Tooltip tiene un Value={Binding …}. Fíjate que no hay enlace relativo a ningún TemplatedParent ni leches en vinagre como en miles de ocasiones has llegado a hacer, complicándote la vida más de la cuenta. ¡Ay, gamberro! Tú y tus RelativeSource mal puestos. El RelativeSource es Self, y el Self en esos momentos es equivalente a decir (objeto de tipo PlainSimpleFontSelector).

<Style TargetType="{x:Type local:PlainSimpleFontSelector}">
    <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=SelectedFont.FullName}" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type local:PlainSimpleFontSelector}">
                <Border Background="{TemplateBinding Background}"
                        BorderBrush="{TemplateBinding BorderBrush}"
                        BorderThickness="{TemplateBinding BorderThickness}">
                    <ComboBox
                        HorizontalContentAlignment="Stretch"
                        SelectedValue="{Binding SelectedFont, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
                        ItemsSource="{Binding AvailableFonts, RelativeSource={RelativeSource TemplatedParent}}"
                        ItemTemplate="{StaticResource QpdFontTemplate}">
                    </ComboBox>
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

Por cierto, y todo sea dicho, qué selector de fuente más cuco me ha quedado en Designer Guiño

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s