0

使用 wpf 设置根视觉的正确方法是什么。在我看过的 Silverlight 示例中 ShellView view = this.Container.TryResolve<ShellView>();
Application.Current.RootVisual = view;

似乎根视觉属性没有在 wpf 中退出,我尝试了以下操作,但它没有加载我的 shell 视图(用户控件)。

ShellView view = this.Container.TryResolve<ShellView>();            
Application.Current.MainWindow = Window.GetWindow(view);

在 wpf 中设置根视觉的正确方法是什么?

4

1 回答 1

3

由于您的问题带有标签,您可以简单地看一下 Prism 提供的 StockTrader 演示,它的引导程序中有以下几行:

protected override void InitializeShell()
{
    base.InitializeShell();

#if SILVERLIGHT
    Application.Current.RootVisual = (Shell)this.Shell;            
#else
    Application.Current.MainWindow = (Shell)this.Shell;
    Application.Current.MainWindow.Show();
#endif
}

创建外壳的地方是CreateShell()覆盖,其中Shell类型为Window

protected override DependencyObject CreateShell()
{
    return this.Container.TryResolve<Shell>();
}

您不会比 Prism 演示中的方式更“正确”。

于 2013-04-07T20:11:01.293 回答