Canvas не изменяет размер содержимого.Вы должны использовать другую панель.Сетка, например:
<ScrollViewer
PreviewMouseWheel="ScrollViewer_PreviewMouseWheel"
VerticalScrollBarVisibility="Visible"
HorizontalScrollBarVisibility="Visible">
<Grid>
<Grid.LayoutTransform>
<TransformGroup>
<ScaleTransform x:Name="scaleTransform"/>
</TransformGroup>
</Grid.LayoutTransform>
<TextBlock Margin="34,47" Name="textBlock1" Text="TK QSDFWPO Aàâéèêëîïôùûüÿçæœ; BLA BLA BLA...... " />
<TextBlock Margin="310,46" Name="textBlock4" Text="TK QSDFWPO Aàâéèêëîïôùûüÿçæœ; BLA BLA BLA...... " />
<TextBlock Margin="188,157" Name="textBlock11" Text="TK QSDFWPO Aàâéèêëîïôùûüÿçæœ; BLA BLA BLA...... " />
</Grid>
</ScrollViewer>
также я думаю, что вам нужно пометить событие как обработанное, чтобы предотвратить вертикальную прокрутку:
private void ScrollViewer_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
{
if (e.Delta > 0)
scaleTransform.ScaleY =
scaleTransform.ScaleX += 0.1;
else
scaleTransform.ScaleY =
scaleTransform.ScaleX -= 0.1;
e.Handled = true;
}