WPF: associazione programmatica su un effetto Bitmap
-
09-06-2019 - |
Domanda
Vorrei poterlo fare a livello di programmazione associare alcuni dati alle proprietà di dipendenza su a Effetto Bitmap.Con un FrameworkElement come TextBlock esiste un metodo SetBinding in cui puoi eseguire a livello di codice queste associazioni come:
myTextBlock.SetBinding(TextBlock.TextProperty, new Binding("SomeProperty"));
E so che puoi farlo direttamente in XAML (come mostrato di seguito)
<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>
Ma non riesco a capire come ottenere questo risultato con C# perché BitmapEffect non dispone di un metodo SetBinding.
Ho provato:
myTextBlock.SetBinding(OuterGlowBitmapEffect.GlowSize, new Binding("SomeProperty") { Source = someObject });
Ma non funziona.
Soluzione
Puoi usare BindingOperation.SetBinding:
Binding newBinding = new Binding();
newBinding.ElementName = "SomeObject";
newBinding.Path = new PropertyPath(SomeObjectType.SomeProperty);
BindingOperations.SetBinding(MyGlow, OuterGlowBitmapEffect.GlowSizeProperty, newBinding);
Penso che dovrebbe fare quello che vuoi.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow