Canvasにズーム機能を実装しているVisual Studio 2010アプリケーションでWpfを設計しています。イベントは次のとおりです。
< canvas MouseWheel="Canvas_MouseWheel" />
xaml.cs のバックエンドは次のとおりです。
const double ScaleRate = 1.1;
private void Canvas_MouseWheel(object sender, MouseWheelEventArgs e)
{
if (e.Delta > 0)
{
st.ScaleX *= ScaleRate;
st.ScaleY *= ScaleRate;
}
else
{
st.ScaleX /= ScaleRate;
st.ScaleY /= ScaleRate;
}
}
問題は、キャンバス内の図をズームしているときに、キャンバス全体が拡大し、望ましくないスペース全体を占有していることです。キャンバスを拡大しないように拡大したいだけで、最大高さと最大幅も定義しました。
親切にこれで私を助けてください。