Привязка не может заменить целевой объект. Вы можете использовать MultiValueConverter - чтобы объединить несколько преобразований в одну TransformGroup:
public class TransformGroupConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
var tg = new TransformGroup();
foreach(Transform t in values.OfType<Transform>())
{
tg.Children.Add(t);
}
tg.Freeze();
return tg;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
вот модификация разметки xaml с фиксированным RotateTransform и привязываемым TransformA:
<Setter Property="RenderTransform">
<Setter.Value>
<MultiBinding>
<MultiBinding.Converter>
<local:TransformGroupConverter/>
</MultiBinding.Converter>
<Binding>
<Binding.Source>
<RotateTransform Angle="90"/>
</Binding.Source>
</Binding>
<Binding Path="TransformA"/>
</MultiBinding>
</Setter.Value>
</Setter>
или просто привязать индивидуальные свойства:
<TranslateTransform X="{Binding TransformA.X}" Y="{Binding TransformA.Y}"/>