WPF - 位图效果上的编程绑定
-
09-06-2019 - |
题
我希望能够 以编程方式 将一些数据绑定到 a 上的依赖属性 位图效果. 。对于像 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 });
但这不起作用。
解决方案
您可以使用 BindingOperation.SetBinding:
Binding newBinding = new Binding();
newBinding.ElementName = "SomeObject";
newBinding.Path = new PropertyPath(SomeObjectType.SomeProperty);
BindingOperations.SetBinding(MyGlow, OuterGlowBitmapEffect.GlowSizeProperty, newBinding);
我认为这应该做你想做的。
不隶属于 StackOverflow