【问题标题】:Constructor call to wpf usercontrol (with path and geometry) taking 4 secs构造函数调用 wpf 用户控件(带有路径和几何)需要 4 秒
【发布时间】:2014-09-25 04:04:11
【问题描述】:

我必须创建一个用户控件并将其传递给模式对话框:

var control = new ThresholdWarningOverrideModalUserControl(); //The problem is this line of code not after that

var dialog = new ModalDialog(control, this.ViewModelInstance);
dialog.ShowDialog();

现在第一行代码需要 4 - 5 秒来执行。但它甚至没有渲染任何东西。但是,此用户控件使用路径进行绘制。

usercontrol构造函数很简单,所有代码都在xaml中:

 public ThresholdWarningOverrideModalUserControl()
 {
       this.InitializeComponent();
 }

如果我删除绘图路径,控件会快速加载。路径具有与画笔和对象的绑定和转换器。

【问题讨论】:

  • ThresholdWarningOverrideModalUserControl的构造函数是什么样的?贴出代码...
  • ModalDialog 从何而来?我在 WPF 中找不到它。 msdn.microsoft.com/en-us/library/aa969773(v=vs.110).aspx
  • 问题不在于 ModalDialog .. 它是一个自定义窗口。
  • 如果减少绘制路径,时间会减少吗?因此,您正在将控件传递给 Window(即作为模态对话框唤起)。
  • 是的,我正在将用户控件传递给另一个窗口。是的,如果我减少绘图路径,控件会快速加载。

标签: c# .net wpf


【解决方案1】:

实际上drawpath中有图像,当我预先加载图像并将它们作为属性存储在viewmodel中,然后将viewmodel提供给构造函数中的控件时,它会在100毫秒内加载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 2019-03-22
    相关资源
    最近更新 更多