使用隐藏代码在 WPF 中缩放画布

2024-03-08

这里的场景是:


我有一张画布,上面画着不同的图表。现在的要求是使用 C# 或 VB 使用背后的代码放大画布。此外,我需要将缩放代码放置在某个 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;
        }
    };
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用隐藏代码在 WPF 中缩放画布 的相关文章

  • C++ 中本地类中的静态成员变量?

    我知道我们不能宣布static本地类中的成员变量 但其原因尚不清楚 那么请问有人可以解释一下吗 另外 为什么我们不能访问非static函数内部定义的变量 内部已经定义了局部类 直接在局部类成员函数中 在下面给出的代码中 int main i
  • 如何访问另一个窗体上的ListView控件

    当单击与 ListView 所在表单不同的表单中的按钮时 我试图填充 ListView 我在 Form1 中创建了一个方法以在 Form2 中使用 并将参数传递给 Form1 中的方法 然后填充 ListView 当我调试时 我得到了传递的
  • 在 C# 中循环遍历文件文件夹的最简单方法是什么?

    我尝试编写一个程序 使用包含相关文件路径的配置文件来导航本地文件系统 我的问题是 在 C 中执行文件 I O 这将是从桌面应用程序到服务器并返回 和文件系统导航时使用的最佳实践是什么 我知道如何谷歌 并且找到了几种解决方案 但我想知道各种功
  • C# Dns.GetHostEntry 不返回连接到 WiFi 的移动设备的名称

    我有一个 C 中的 Windows 窗体应用程序 我试图获取列表中所有客户端的主机名 下面给出的是 ra00l 来自此链接的代码示例 GetHostEntry 非常慢 https stackoverflow com questions 99
  • 无法在 Windows 运行时组件库的 UserControl 中创建依赖项属性

    我想在用户控件内创建数据可绑定属性 这个用户控件包含一个 Windows 运行时组件 项目 我使用下面的代码来创建属性 public MyItem CurrentItem get return MyItem GetValue Current
  • PlaySound 可在 Visual Studio 中运行,但不能在独立 exe 中运行

    我正在尝试使用 Visual Studio 在 C 中播放 wav 文件 我将文件 my wav 放入项目目录中并使用代码 PlaySound TEXT my wav NULL SND FILENAME SND SYNC 我按下播放按钮 或
  • 批量更新 SQL Server C#

    我有一个 270k 行的数据库 带有主键mid和一个名为value 我有一个包含中值和值的文本文件 现在我想更新表格 以便将每个值分配给正确的中间值 我当前的方法是从 C 读取文本文件 并为我读取的每一行更新表中的一行 必须有更快的方法来做
  • Visual Studio 中的测试单独成功,但一组失败

    当我在 Visual Studio 中单独运行测试时 它们都顺利通过 然而 当我同时运行所有这些时 有些通过 有些失败 我尝试在每个测试方法之间暂停 1 秒 但没有成功 有任何想法吗 在此先感谢您的帮助 你们可能有一些共享数据 检查正在使用
  • 上下文敏感与歧义

    我对上下文敏感性和歧义如何相互影响感到困惑 我认为正确的是 歧义 歧义语法会导致使用左推导或右推导构建多个解析树 所有可能的语法都是二义性的语言是二义性语言 例如 C 是一种不明确的语言 因为 x y 总是可以表示两个不同的事物 如下所述
  • 如何在 Blackberry Cascades 中显示具有特定号码的电话板

    我正在使用带有 C QT 和 QML 的 Blackberry Cascades 10 Beta 3 SDK 以及 Blackberry 10 Dev Alpha Simulator 和 QNX Momentics IDE 并且我正在尝试实
  • 如何将自定义 JSON 文件添加到 IConfiguration 中?

    我正在使用 asp net Autofac 我正在尝试加载自定义 JSON 配置文件 并基于该文件创建 实例化 IConfiguration 实例 或者至少将我的文件包含到默认情况下构建的 IConfiguration asp net 中
  • 使用 Moq 使用内部构造函数模拟类型

    我正在尝试模拟 Microsoft Sync Framework 中的一个类 它只有一个内部构造函数 当我尝试以下操作时 var fullEnumerationContextMock new Mock
  • 将 log4net 与 Autofac 结合使用

    我正在尝试将 log4net 与 Autofac 一起使用 我粘贴了这段代码http autofac readthedocs org en latest examples log4net html http autofac readthed
  • 如何从main方法调用业务对象类?

    我已将代码分为业务对象 访问层 如下所示 void Main Business object public class ExpenseBO public void MakeExpense ExpensePayload payload var
  • 用于 C# 的 TripleDES IV?

    所以当我说这样的话 TripleDES tripledes TripleDES Create Rfc2898DeriveBytes pdb new Rfc2898DeriveBytes password plain tripledes Ke
  • Server.MapPath - 给定的物理路径,预期的虚拟路径

    我正在使用这行代码 var files Directory GetFiles Server MapPath E ftproot sales 在文件夹中查找文件 但是我收到错误消息说 给定物理路径但虚拟路径 预期的 我对在 C 中使用 Sys
  • 有没有办法强制显示工具提示?

    我有一个验证字段的方法 如果无法验证 该字段将被清除并标记为红色 我还希望在框上方弹出一个工具提示 并向用户显示该值无效的消息 有没有办法做到这一点 并且可以控制工具提示显示的时间 我怎样才能让它自己弹出而不是鼠标悬停时弹出 If the
  • 编译时“strlen()”有效吗?

    有时需要将字符串的长度与常量进行比较 例如 if line length gt 2 Do something 但我试图避免在代码中使用 魔法 常量 通常我使用这样的代码 if line length gt strlen Do somethi
  • 使用 GROUP 和 SUM 的 LINQ 查询

    请帮助我了解如何使用带有 GROUP 和 SUM 的 LINQ 进行查询 Query the database IEnumerable
  • 在客户端系统中安装后桌面应用程序无法打开

    我目前正在使用 Visual Studio 2017 和 4 6 1 net 框架 我为桌面应用程序创建了安装文件 安装程序在我的系统中完美安装并运行 问题是安装程序在其他计算机上成功安装 但应用程序无法打开 edit 在客户端系统中下载了

随机推荐

  • 如何更改拍摄的文档以使其看起来“扫描”

    我怎么能够do this http www techcrunch com 2009 03 17 jotnot turns your iphones camera into a document scanner 在 Python PIL 中
  • Magento:获取所有运费

    如何获得包含 magento 中运费的数组 对象 例如统一费率 免费送货等 与选择的地址或产品无关 这是另一种方法 您需要设置邮政编码和国家 地区 即使这对您的运输方式并不重要 Change to your postcode country
  • 模板依赖 false

    我有一个不能直接使用的类模板 只允许专业化 我想用static assert显示有意义的错误消息 我不能只打字static assert false error since false不依赖于值 即使从未使用过模板 编译器也可能会显示错误消
  • 如何增加 Android 2.3 (Gingerbread) 上的堆大小?

    当我尝试创建一个时出现 OutOfMemoryErrorString大于 4MB 使用StringBuilder append 据我所知 StringBuilder没有任何关于大小的限制 所以没有String 所以我搜索了 如何增加 And
  • 当条件为真时,Pandas 将数据帧拆分为多个

    我有一个数据框 如下面的 df 我想为条件为真的每个数据块创建一个新的数据帧 以便它将返回 df 1 df 2 df n df df 1 df 2 Value Condition Value Value 2 True 2 0 5 True
  • HttpServerUtility.UrlPathEncode 与 HttpServerUtility.UrlEncode

    有什么区别HttpServerUtility UrlPathEncode and HttpServerUtility UrlEncode 我什么时候应该选择其中之一 网址编码对于查询字符串值很有用 因此在每个 的左侧 尤其是右侧 在这个网址
  • Eclipse java 调试:找不到源

    在 Eclipse 中调试 Java 应用程序时 我收到一个 未找到来源 两种情况下的错误 进入已导入的不同项目中的文件 进入已安装的 Maven 存储库中的文件 文件在那里 但 Eclipse 不会进入其中 而是显示一个按钮 附上来源 我
  • Eclipse / Scala 插件中的“非法循环引用”错误

    我已经创建了一个文件夹x带有源文件package scala在里面 该文件包含以下代码 package x package object y trait A case class B extends A Eclipse 显示编译错误 ill
  • 切换到Android Studio 2.0后使用Dagger 2时出现NoClassDefFoundError

    在升级到 Android Studio 2 0 之前 我可以毫无问题地使用 Dagger 2 现在我得到了NoClassDefFoundError这让我停顿了一天多 我正在寻求帮助 看来 Gradle 不能我的AppModule类 尽管很明
  • 静态成员实例引用问题[重复]

    这个问题在这里已经有答案了 我在 Analytics 类中保存了以下静态方法 public static void buttonHit string eventName string eventAction string descripti
  • 使用 jquery 的 .validate 函数提交表单

    这是一个简单的问题 我有一个正在使用 jquery 的 validate 函数进行验证的表单 问题是 只有当我使用以下方式提交表单时 验证似乎才起作用
  • 如何在启动后将调试器附加到 iOS 应用程序?

    我正在解决一个问题 该问题很少发生 并且当我在 Xcode 下运行东西时似乎不会发生 是否可以正常运行应用程序 即从 Springboard 直到出现我的问题 然后在此时附加调试器 如果可能的话 我更愿意在不越狱的情况下执行此操作 连接已连
  • 为加密数据创建订单列

    我正在将加密数据保存到数据库中 有没有一种方法可以创建纯文本数据的 哈希码 或指纹或校验和 如果我对 哈希码 进行排序 排序 则顺序将与我保存纯文本数据并执行相同同样的sort order by操作可以吗 我基本上需要一个 SOUNDEX
  • Rails:我应该如何在控制器之间共享逻辑?

    这个问题肯定有人问过 但我找不到 我有一个UsersController and an Admin UsersController 显然 这些类中发生了很多事情 例如 strong parameters 创建 编辑用户后要遵循的路径 是相同
  • Rails rspec 设置子域

    我正在使用 rSpec 来测试我的应用程序 在我的应用程序控制器中 我有一个像这样的方法 def set current account current account Account find by subdomain request s
  • adwords api:检索每日支出(费用)

    有人有一些示例代码来说明如何获取 AdWords 帐户的每日总支出 所有广告系列 吗 我无法找到以简单的方式执行此类操作的示例代码 因此任何帮助 指针 代码将不胜感激 我将使用 python 库 但任何其他语言也很酷 提前致谢 Hoff 我
  • 无法在 Xcode 中找到设备支持文件[重复]

    这个问题在这里已经有答案了 在我的设备中运行我的应用程序时 我在 Xcode 中遇到以下错误 Xcode 版本为 10 01 我的设备 iOS 版本为 12 2 iPhone 5S 无法找到设备支持文件 您需要将 Xcode 更新到最新版本
  • 模块“rxjs”没有导出成员“firstValueFrom”

    App service 文件如下所示 import Injectable from nestjs common import HttpService from nestjs axios import Observable firstValu
  • 使用失败、回溯 Prolog 查找列表的最小值

    我想使用导致回溯的失败来计算列表的最小值 我如何改变分钟 分钟 X 分钟 以使其工作 min X A B X is the min of A B min X X Y X lt Y min Y X Y Y lt X member X X me
  • 使用隐藏代码在 WPF 中缩放画布

    这里的场景是 我有一张画布 上面画着不同的图表 现在的要求是使用 C 或 VB 使用背后的代码放大画布 此外 我需要将缩放代码放置在某个 dll 中 以便我可以在我的应用程序中重复使用同一组代码 现在我的问题是如何做到这一点 我已经尝试过以