2008-09-12 16 views
5

पर बाध्यकारी मैं एक BitmapEffect पर निर्भरता गुण के लिए कुछ डेटा प्रोग्राम के रूप में बाँध करने में सक्षम होना चाहते हैं। TextBlock की तरह एक FrameworkElement के साथ वहाँ एक SetBinding पद्धति जहां आप की तरह इन बाइंडिंग प्रोग्राम के रूप में कर सकते हैं:WPF - प्रोग्रामेटिक एक BitmapEffect

myTextBlock.SetBinding(TextBlock.TextProperty, new Binding("SomeProperty")); 

और मुझे पता है आप सीधे XAML में कर सकते हैं (जैसा कि नीचे देखा)

<TextBlock Width="Auto" Text="Some Content" x:Name="MyTextBlock" TextWrapping="Wrap" > 
    <TextBlock.BitmapEffect> 
     <BitmapEffectGroup> 
      <OuterGlowBitmapEffect x:Name="MyGlow" GlowColor="White" GlowSize="{Binding Path=MyValue}" /> 
     </BitmapEffectGroup> 
    </TextBlock.BitmapEffect> 
</TextBlock> 

लेकिन मैं सी # के साथ इसे पूरा करने के तरीके को समझ नहीं सकते हैं क्योंकि बिटमैपफेक्ट में सेटबाइंडिंग विधि नहीं है।

मैं कोशिश की है:

myTextBlock.SetBinding(OuterGlowBitmapEffect.GlowSize, new Binding("SomeProperty") { Source = someObject }); 

लेकिन यह काम नहीं करता।

उत्तर

11

आप BindingOperation.SetBinding उपयोग कर सकते हैं:

Binding newBinding = new Binding(); 
newBinding.ElementName = "SomeObject"; 
newBinding.Path = new PropertyPath(SomeObjectType.SomeProperty); 
BindingOperations.SetBinding(MyGlow, OuterGlowBitmapEffect.GlowSizeProperty, newBinding); 

मुझे लगता है कि आप क्या चाहते हैं क्या करना चाहिए।