사각형 표시 및 바인딩 뷰 모델 클래스의 너비, 높이, 각도는 XAML코드 변환에서 WPF 바인딩이 실패합니다.
<Rectangle
RenderTransformOrigin="0.5,0.5"
Fill="Black"
Width="{Binding Path=Width, Mode=TwoWay}"
Height="{Binding Path=Height, Mode=TwoWay}">
<Rectangle.RenderTransform>
<RotateTransform Angle="{Binding Path=Angle, Mode=TwoWay}" />
</Rectangle.RenderTransform>
</Rectangle>
에서 예상대로 작동합니다. 그러나 코드 숨김에서 사각형을 만들 때 높이 및 너비에 바인딩 할 수 있지만 각도가 아닙니다.
private void Window_Loaded(object sender, RoutedEventArgs e)
{
Binding bindH = new Binding("Height");
bindH.Mode = BindingMode.TwoWay;
Binding bindW = new Binding("Width");
bindW.Mode = BindingMode.TwoWay;
// DOES NOT WORK
// AND I DID TRY MANY OTHER COMBINATIONS
Binding bindA = new Binding("Angle");
bindA.Mode = BindingMode.TwoWay;
Rectangle r1 = new Rectangle();
SolidColorBrush myBrush = new SolidColorBrush(Colors.Black);
r1.Fill = myBrush;
r1.RenderTransformOrigin = new Point(0.5,0.5);
r1.SetBinding(Rectangle.WidthProperty, bindW);
r1.SetBinding(Rectangle.HeightProperty, bindH);
** // 작동하지 않습니다. **
r1.SetBinding(RenderTransformProperty, bindA);
LayoutPanel.Children.Add(r1); // my custom layout panel
}
모든 도움을 주셨습니다.
RotateTransform에는 SetBinding이라는 메서드가 없습니다. – Zamboni