This entry was posted on Wednesday, May 20th, 2009 at 11:31 and is filed under Actus, Silverlight . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
ProxyRenderTransform Library v2
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
Leave a Reply

