2017-01-05 4 views
1

バインドをコードの後ろに追加するにはどうすればよいですか?WPFでのコードバインディングのバインド

<Canvas.Effect > 
     <fx:GreenscreenEffect Tolerance="{Binding Value, ElementName=sliderGreenscreenTolerance}" 
          ColorR="{Binding Value, ElementName=sliderGreenscreenR}" 
          ColorG="{Binding Value, ElementName=sliderGreenscreenG}" 
          ColorB="{Binding Value, ElementName=sliderGreenscreenB}" /> 
</Canvas.Effect> 

私は成功せず、試してみました:

GreenscreenEffect effect = new GreenscreenEffect() ; 
Binding binding = new Binding(); 
binding.Path = new PropertyPath("Tolerance"); 
binding.Source = sliderGreenscreenTolerance.Value; 
BindingOperations.SetBinding(effect, TextBlock.TextProperty, binding); 
// etc. for each property 

答えて

1
GreenscreenEffect effect = new GreenscreenEffect() ; 
Binding binding = new Binding(); 
binding.Path = new PropertyPath("Value"); 
binding.Source = sliderGreenscreenTolerance; 
// effect.SetBinding(GreenscreenEffect.ToleranceProperty, binding); 
// Commented above out since GreenscreenEffect is not a FrameworkElement, thus: 
BindingOperations.SetBinding(effect, GreenscreenEffect.ToleranceProperty, binding); 
// ... ColorRProperty etc... 
0

私は解決策を見つけた:

GreenscreenEffect effect = new GreenscreenEffect() ; 
       Binding binding = new Binding(); 
       binding.Path = new PropertyPath("Value"); 
       binding.Source = sliderGreenscreenTolerance; 
       BindingOperations.SetBinding(effect, GreenscreenEffect.ToleranceProperty, binding); 
+0

私はちょうどあなたが使用できることを知らせる:)入力したとして、あなたがそれを見つけました'SetBinding'メソッドは' BindingOperations'のものではなくコントロールの上にあります。 –

関連する問題