ProxyRenderTransform Library v2
Aucun commentaire
I've just released V2 of ProxyrenderTransform. ProxyRenderTransform use extensions methods to allow easy access to renderTransforms nodes. These are difficult to target by C# when they are not named. If you add the reference ProxyRenderTransform.dll, you will easily reach RenderTransform for any FrameWork element by extensions methods :
- SetX / GetX
- SetScaleX / GetScaleX
- SetRotate / GetRotate
- SetSkewX / SetSkewY
You can get PropertyPath corresponding the way Blend create RenderTransformGroup via static properties
- _SCALE_X_PATH // (UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)
- _SCALE_Y_PATH
- _SKEW_X_PATH
- _SKEW_Y_PATH
- _ROTATE_PATH
- _TRANSLATE_X_PATH
- _TRANSLATE_Y_PATH
You can also get reference to transform nodes themselves
- GetScaleNode
- GetTranslateNode
- GetRotateNode
- GetSkewNode
there's an example below :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | void Page_Loaded(object sender, RoutedEventArgs e) { //any FrameworkElement can now have direct access to his RenderTransform rec.SetX(605); Debug.WriteLine( rec.GetX()); //rec.SetX(105); //rec.SetRotate(60); //rec.SetScaleX(2); dp.Interval = TimeSpan.FromMilliseconds(10); dp.Tick += new EventHandler(dp_Tick); dp.Start(); } void dp_Tick(object sender, EventArgs e) { double newX = (double)rec_Copy.GetX() ( 500 - (double)rec_Copy.GetX() ) * .2; rec_Copy.SetX(newX); } |
In that release, you will have access to 3D projection plan too...
You can get library under MS-PL licence on Code Plex here.
Don't hesitate to send me an email or post a comment if you encounter bugs or difficulties when you use it

