В вашем коде вы увеличиваете изображение, увеличивая ширину и высоту изображения. Это всегда будет происходить вокруг верхней левой точки. Однако, если вы используете преобразование масштабирования, вы можете установить точку, вокруг которой должно масштабироваться изображение.
<Image x:Name="img" Margin="151,127,208,142" Source="Waterfall.jpg" Stretch="Fill">
<Image.RenderTransform>
<ScaleTransform x:Name="imagescale" ScaleX="1.2" ScaleY="1.2" CenterX="100" CenterY="100">
</ScaleTransform>
</Image.RenderTransform>
</Image>
Этот образец кода был взят из здесь
Это должно позволить вам установить масштабирование для ClickPosition, привязав его к свойству.
С другой стороны: я не уверен, что вы хотели, чтобы ваше масштабирование работало так, но если вы увеличите масштаб на 1,25, вам следует уменьшить масштаб на 1 / 1,25, а не на 0,75. Это будет сохранять постоянное масштабирование, когда ваш масштаб изменяется по мере продвижения (т.е. если я увеличу дважды и уменьшу дважды, у меня больше не будет 1).