2008-09-12 21 views
5

üzerine Bağlama Ben BitmapEffect üzerinde programlı bağlama için bağımlılık özellikleri bazı verileri edebilmek istiyorum. TextBlock gibi bir FrameworkElement ile orada gibi bu bağların yapmak programlı bir SetBinding yöntemidir:- Programlı bir BitmapEffect

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

Ve (aşağıda görüldüğü gibi)

<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> 

düz XAML bunu biliyorum Ama ben Bu, C# ile nasıl gerçekleştirileceğini anlayamaz çünkü BitmapEffect'in bir SetBinding yöntemi yoktur.

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

Ama çalışmıyor:

denedim.

cevap

11

Sen BindingOperation.SetBinding kullanabilirsiniz:

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

Ben bu istediğini yapması gerektiğini düşünüyorum.