gpt4 book ai didi

WPF Canvas - 类似 Split View的 Visual Studio

转载 作者:行者123 更新时间:2023-12-01 04:00:21 26 4
gpt4 key购买 nike

我正在开发一个应用程序,它在 wpf Canvas 中显示巨大的(10000 多个元素)图表。
我想要一个像 Visual Studio 中的功能,当您可以拆分编辑器的 View 时(这样我可以同时查看同一个图表的两个遥远部分)。

我有一些限制:

  • 图元素的数据绑定(bind)(创建绑定(bind))使得大图的加载非常缓慢,所以我没有使用 MVVM,“VM”知道 View 并在需要时直接更新它
  • Canvas 的子元素是框架元素,因为我使用 Tag 属性
  • 由于图形元素的数量,我不想为 Split View的两个部分的每个元素保留两个不同的 View

  • 所以它应该就像在不同的地方显示同一 Canvas 的多个部分。您不能在 WPF 中为 FrameworkElements 设置两个父级,因此最简单的方法是毫无疑问的 :(

    我有哪些选择?我应该重新考虑我的限制还是有一些解决方法?

    如果您需要更多详细信息,请告诉我(这是一个大型应用程序,因此我无法为您提供所有信息)。

    编辑 :使用视觉画笔复制不是一种选择,因为我需要正确的输入事件通知,所以两个 View 都必须是可编辑的。

    最佳答案

    选项:

  • 将相同的数据绑定(bind)到两个控件。
  • 使用视觉画笔并在真实控件上复制输入。
  • 创建一个自定义图形控件,可以一次输出图形的两个部分。

  • 如果绑定(bind)到两个控件太慢,那么我认为您需要重新考虑您的应用程序。一次显示的数据如此之多,以至于您需要双 View 才能看到单独的部分,这一事实令人不安。这应该引发一个危险信号。危险信号会通知您:“我需要的和我拥有的不同。”你应该回到绘图板上,找出你真正需要的东西。

    否则,最好创建一个自定义控件。即使您只需要显示一小部分,该图也会完整呈现。如果您有自己的自定义控件,则可以通过一次仅渲染可见部分并在控件内拆分来加速整个应用程序。

    关于WPF Canvas - 类似 Split View的 Visual Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13895334/

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