在C#中使用显式类型转换

时间:2014-07-31 14:47:37

标签: c# silverlight visual-studio-2013

我正在尝试使用Visual Studio 2013开发Silverlight应用程序。我是初学者。我在下面的代码中有一个隐式类型转换。

private void Application_Startup(object sender, StartupEventArgs e)
{
    Page p = new Page();
    this.RootVisual = p;

    // This assumes that Page.LayoutRoot exists and is a StackPanel.
    StackPanel layoutRoot = p.LayoutRoot;

    // Display the custom initialization parameters.
    foreach (String key in e.InitParams.Keys)
    {
           layoutRoot.Children.Add(new TextBlock()
        {
            Text = String.Format(
                "from InitParams: {0} = {1}", key,
                e.InitParams[key])
        });
    }

    // Display the URL parameters.
    foreach (String key in HtmlPage.Document.QueryString.Keys)
    {
        layoutRoot.Children.Add(new TextBlock()
        {
            Text = String.Format(
                "from QueryString: {0} = {1}", key,
                HtmlPage.Document.QueryString[key])
        });
    }

当我编译代码时,我收到错误

 " Error    1    Cannot implicitly convert type 'System.Windows.Controls.Grid' to 'System.Windows.Controls.StackPanel' 

如何制作此显式功能?

1 个答案:

答案 0 :(得分:1)

打开文件Page.xaml,找到带有x:Name" LayoutRoot"的Grid并用StackPanel(使用相同的x:名称)替换它