Я отправил похожий вопрос здесь некоторое время назад.Я пытался сделать то же самое с ScrollViewer и смог заставить его работать, но это было определенно ограничено.Мы использовали этот элемент управления, который отлично работал для нас.
<zoom:ZoomControl x:Name="zoom"
InitialZoom="1"
Background="Blue"
ZoomEnabled="True"
PanEnabled="True"
Height="400"
Width="600"
ZoomStep="1"
MaxZoom="10"
MinZoom="1">
<StackPanel>
<Button Content=" Test " Margin="20"/>
<Image Source="C:\Documents and Settings\user\Desktop\IMG_5018.JPG" Height="50"/>
</StackPanel>
</zoom:ZoomControl>