इस तरह टेस्टको नामक एक नियंत्रण की कल्पना करें:टेम्पलेट बाइंडिंग प्रभाव की संपत्ति से बंधी नहीं है?
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); }
}
}
कुछ भी नहीं, एक डिफ़ॉल्ट मूल्य के साथ एक डबल डबल संपत्ति के साथ बस एक खाली नियंत्रण (डबल) 1। अब, इस तरह की एक सामान्य शैली छवि:
<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>
अब, समस्या यह है कि त्रिज्या संपत्ति किसी कारण से कभी बंधी नहीं है। वेरास बटन की सामग्री टेस्टवैल्यू संपत्ति के लिए ठीक से बाध्य है। मुझे यकीन है कि मुझे कुछ स्पष्ट याद आ रहा है। या नहीं?
उत्तर देने के बाद, मैंने पाया कि http://stackoverflow.com/questions/1131222/wpf-templatebinding-vs-relativesource-templatedparent जिसका उत्तर बाध्यकारी और टेम्पलेट बाइंडिंग – Timores
के बीच अंतर के बारे में काफी दिलचस्प है, किसी प्रकार की बग की तरह लगता है मुझे। समाधान के लिए धन्यवाद :-) –
मुझे "{टेम्पलेट बाइंडिंग डायलॉगहेइट}" पर XAML संपादक में "निर्भरता संपत्ति फ़ील्ड गुम है" त्रुटि मिल रही है, जहां डायलॉगहेइट एक ऐसी संपत्ति है जो "INotifyPropertyChanged" से प्राप्त कक्षा से संबंधित है। स्पष्ट रूप से रनटाइम पर कुछ बाध्यकारी त्रुटियां भी प्राप्त कर रही हैं। जैसा कि आपने सलाह दी है बाध्यकारी को बदलना मेरे मुद्दों को हल करता है। धन्यवाद। –