我有一个由许多其他UserControl(包括第三方控件)组成的UserControl。当我将此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();
在此用例中,各种部件无法正常显示。我在过去的渲染中遇到了第三方图形控件的问题,通常调用Invalidate会修复它。所以我尝试连接到Loaded事件并调用Invalidate。当视图放在我的主应用程序视图中时执行此调用,但是当我在代码中实例化该视图时,Loaded事件永远不会触发。我需要在代码中执行额外的步骤吗?
作为旁注,我这样做是为了将视图发送到一段代码以输出到报告。
谢谢, 史蒂夫
答案 0 :(得分:0)
我认为你缺少订阅Loaded活动
pageView.Loaded += pageView_Loaded;
......
......
void pageView_Loaded(object sender, RoutedEventArgs e)
{
//Do ur loaded stuff here
}