private static TranslateTransform FindOrCreateRenderXform(UIElement element)
{
TranslateTransform transform = null;
if (element.RenderTransform != null)
{
var grp = element.RenderTransform as TransformGroup;
if (grp == null)
{
transform = element.RenderTransform as TranslateTransform;
}
else
{
var hit = grp.Children.FirstOrDefault(t => t is TranslateTransform);
transform = (TranslateTransform)hit;
}
}
if (transform == null)
{
transform = new TranslateTransform();
// probably shouldn't replace existing transform but anyway
element.RenderTransform = transform;
}
return transform;
}