如何避免在MVVM上下文中等待Silverlight模板化控件初始化

如何避免在MVVM上下文中等待Silverlight模板化控件初始化,silverlight,mvvm,controltemplate,Silverlight,Mvvm,Controltemplate,我试图在应用程序中创建和使用模板控件,但似乎遇到了时间问题。当我在XAML中使用自定义模板控件并通过代码new MyControl调用控件上的方法尝试对Controltemplate中的控件执行操作时,模板中的控件几乎总是空的,即使在OnApplyTemplate方法之后也是如此。一种解决方案是使用OnApplyTemplate方法中抛出的事件等待控件初始化,然后让代码在模板中的控件上执行某些操作,但这似乎复制了我不必担心的控件/框架特性 因此,问题是: 从Themes\Generic.xaml

我试图在应用程序中创建和使用模板控件,但似乎遇到了时间问题。当我在XAML中使用自定义模板控件并通过代码new MyControl调用控件上的方法尝试对Controltemplate中的控件执行操作时,模板中的控件几乎总是空的,即使在OnApplyTemplate方法之后也是如此。一种解决方案是使用OnApplyTemplate方法中抛出的事件等待控件初始化,然后让代码在模板中的控件上执行某些操作,但这似乎复制了我不必担心的控件/框架特性

因此,问题是:

从Themes\Generic.xaml加载ControlTemplate是否异步?
如何在MVVM上下文中使用这些多级模板控件?

在OnApplyTemplate中,需要使用GetTemplateChild方法来访问控件。有关控件生命周期的说明,请参阅