gpt4 book ai didi

c# - 使用代码隐藏在 WPF 中 Canvas 缩放

转载 作者:行者123 更新时间:2023-11-30 16:32:35 25 4
gpt4 key购买 nike

场景是:


我有一个 Canvas ,上面画有不同的图表。现在的要求是使用 C# 或 VB 背后的代码放大 Canvas 。此外,我需要将缩放代码放在一些 dll 中,以便我可以在整个应用程序中重用同一组代码。

现在我的问题是如何做到这一点......

我试过下面的代码请看一下..

public MainWindow()
{
InitializeComponent();

canvas.MouseEnter += new MouseEventHandler(canvas_MouseEnter);
canvas.MouseWheel += new MouseWheelEventHandler(canvas_MouseWheel);
}

void canvas_MouseWheel(object sender, MouseWheelEventArgs e)
{
double height = canvas.ActualHeight;
double width = canvas.ActualWidth;
double zoom = e.Delta;
height += 2;
width += 2;
ScaleTransform sc = new ScaleTransform(width, height);
canvas.LayoutTransform = sc;
canvas.UpdateLayout();
}

最佳答案

尝试实现这个示例:

    var canvas = new Canvas();
var st = new ScaleTransform();
var textBox = new TextBox {Text = "Test"};
canvas.RenderTransform = st;
canvas.Children.Add(textBox);
canvas.MouseWheel += (sender, e) =>
{
if (e.Delta > 0)
{
st.ScaleX *= 2;
st.ScaleY *= 2;
}
else
{
st.ScaleX /= 2;
st.ScaleY /= 2;
}
};

关于c# - 使用代码隐藏在 WPF 中 Canvas 缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3952010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com