imaginar un control denominado Testko así:TemplateBinding no se une a la propiedad del efecto?
public class Testko: Control
{
public static readonly DependencyProperty TestValueProperty;
static Testko()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(Testko), new FrameworkPropertyMetadata(typeof(Testko)));
TestValueProperty = DependencyProperty.Register("TestValue", typeof(double), typeof(Testko), new UIPropertyMetadata((double)1));
}
public double TestValue
{
get { return (double)GetValue(TestValueProperty); }
set { SetValue(TestValueProperty, value); }
}
}
Nada especial, simplemente un control de vacío con un solo doble propiedad con un valor predeterminado establecido en (doble) 1. Ahora, una imagen de estilo genérico como esta:
<Style TargetType="{x:Type local:Testko}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:Testko}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<StackPanel Orientation="Vertical">
<StackPanel.Effect>
<BlurEffect Radius="{TemplateBinding TestValue}" />
</StackPanel.Effect>
<Button Content="{TemplateBinding TestValue}" Margin="4" />
</StackPanel>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Ahora, el problema es que la propiedad del radio no está obligado por alguna razón. El contenido de Wheras Button está ligado apropiadamente a la propiedad TestValue. Estoy seguro de que me falta algo obvio. ¿O no?
Después de responder, encontré http://stackoverflow.com/questions/1131222/wpf-templatebinding-vs-relativesource-templatedparent cuya respuesta es bastante interesante con respecto a la diferencia entre Binding y TemplateBinding – Timores
Parece un tipo de error para yo. Gracias por la solución :-) –
Aparece el error "Falta el campo de propiedad de dependencia" en el editor de XAML en "{TemplateBinding DialogHeight}", donde DialogHeight es una propiedad que pertenece a una clase derivada de "INotifyPropertyChanged". Obviamente obtener algunos errores vinculantes en tiempo de ejecución, también. Cambiar el enlace como lo indicó soluciona mis problemas. Gracias. –