WPF - BitmapEffect上的程序化绑定

时间:2008-09-12 21:05:46

标签: wpf data-binding bitmapeffect

我希望能够以编程方式将某些数据绑定到 BitmapEffect 上的依赖项属性。使用像TextBlock这样的FrameworkElement,有一个SetBinding方法,您可以在其中以编程方式执行以下绑定:

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>

但是我无法弄清楚如何使用C#来实现这一点,因为BitmapEffect没有SetBinding方法。

我试过了:

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

但它不起作用。

1 个答案:

答案 0 :(得分:11)

您可以使用BindingOperation.SetBinding

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

我认为应该做你想做的事。