私はあなたがXAMLでこれを動的に行うことができると知っていますが、これをコードでどのように行うことができますか?シルバーライト4でランタイムにSilverlightコントロールをRotateTransformにバインドするには?
私は、ユーザーが描いた矩形を持っていて、スライダをコードを介してrotatetransformに取り付ける必要があります。
ヘルプ?
私はあなたがXAMLでこれを動的に行うことができると知っていますが、これをコードでどのように行うことができますか?シルバーライト4でランタイムにSilverlightコントロールをRotateTransformにバインドするには?
私は、ユーザーが描いた矩形を持っていて、スライダをコードを介してrotatetransformに取り付ける必要があります。
ヘルプ?
、しかし、Silverlightの4.0は、今あなたができる、依存関係オブジェクトに結合する能力を追加しました を、Dependency Objectから継承する変換のようなものにバインドします。 BindingOperations
クラスを使用すると、DependancyObject、バインドするプロパティ、およびバインディング式を渡すことができます。
//w is a UIElement
//rot is a rotate transform
w.RenderTransform = rot;
Binding b = new Binding("Value") { Source = RotationSlider };
BindingOperations.SetBinding(rot, RotateTransform.AngleProperty, b);
Transform
クラスにはSetBinding()
というメソッドがありません。 は、ここでは、この問題の回避策です:与えたあなたは、実行時にXAMLに負荷によって、ANSERのVorrtexでこれを行うことができます
var rect = new Rectangle { Width = 100, Height = 60, Fill = new SolidColorBrush(Color.FromArgb(255, 255, 0, 0)) };
var t =
XamlReader.Load("<RotateTransform xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' "+
"Angle='{Binding Value, ElementName=slider1}'/>") as RotateTransform;
rect.RenderTransform = t;