1

我有一个由许多其他用户控件(包括第 3 方控件)组成的用户控件。当我将此 UserControl 添加到我的主应用程序视图时,一切正常。但是,如果我在代码中实例化此视图 (UserControl),并进行以下调用,则无法正确呈现:

var pageView = new TemplatePageView() { DataContext = new PageViewModel() };
pageView.Measure(new Size(816, 1056));
pageView.Arrange(new Rect(new Size(816, 1056)));
pageView.UpdateLayout();

在此用例中,各个部分无法正确显示。在过去的渲染中,我遇到了第 3 方图形控件的问题,通常调用 Invalidate 可以修复它。所以我尝试连接到 Loaded 事件并调用 Invalidate。此调用在视图放入我的主应用程序视图时执行,但当我在代码中实例化此视图时,Loaded 事件永远不会触发。我需要在代码中执行其他步骤吗?

作为旁注,我这样做是为了将视图发送到一段代码以输出到报告。

谢谢,史蒂夫

4

1 回答 1

0

我认为您在这里缺少订阅 Loaded 事件

pageView.Loaded += pageView_Loaded;
......
......
void pageView_Loaded(object sender, RoutedEventArgs e)
    {
       //Do ur loaded stuff here
    }
于 2013-07-15T17:16:02.107 回答