2008-09-12 15 views
5

Bitmap Bindung würde Ich mag auf die Abhängigkeitseigenschaften auf einem Bitmap einige Daten zu programmatisch binden können. Mit einem Framework wie TextBlock- gibt es eine SetBinding Methode, wo Sie programmatisch diese Bindungen wie tun können:WPF - Programmatische auf einem

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

Und ich weiß, Sie es in gerade XAML tun kann (wie unten zu sehen)

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

Aber ich kann nicht herausfinden, wie dies mit C# erreicht werden kann, da BitmapEffect keine SetBinding-Methode hat.

Ich habe versucht:

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

Aber es funktioniert nicht.

Antwort

11

können Sie BindingOperation.SetBinding verwenden:

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

denke ich, dass sollte das tun, was Sie wollen.