尝试在WPF中的页面之间导航时引发异常

时间:2018-12-11 10:23:11

标签: c# wpf visual-studio navigation

这是我用来在WPF应用程序中的页面之间导航的代码:

        MainMenu mainMenu = new MainMenu();
        this.Content = mainMenu;

当从主菜单导航到我的页面之一时,它可以工作,但是对于该“后退”按钮,使用相同的代码,我会收到以下错误消息:

  

类型为'System.InvalidOperationException'的未处理异常   在PresentationFramework.dll中发生

     

其他信息:窗口必须是树的根。不能   将Window添加为Visual的子级。

我做错了什么,在页面之间导航是否有更好的方法?

1 个答案:

答案 0 :(得分:0)

将此代码添加到您的.xaml文件中:

DROP TABLE IF EXISTS #DataSource;

CREATE TABLE #DataSource
(
    [Param01] INT
   ,[Param02] INT
   ,[Param03] INT
);

DECLARE @DataHeadings TABLE
(
    [ColumnID] INT
   ,[ColumnName] SYSNAME
);

INSERT INTO #DataSource ([Param01], [Param02], [Param03])
VALUES (1, 1, 1)
      ,(2, 2, 2)
      ,(3, 3, 3);

INSERT INTO @DataHeadings ([ColumnID], [ColumnName])
VALUES (1, 'name')
      ,(2, 'age')
      ,(3, 'login');

DECLARE @DynamicTSQLStatement NVARCHAR(MAX);


SET @DynamicTSQLStatement = N'SELECT ' + STUFF
                            (
                                (
                                    SELECT ',[Param' + RIGHT([ColumnID] + 100, 2) + '] AS [' + [ColumnName] + ']'
                                    FROM @DataHeadings
                                    ORDER BY [ColumnID]
                                    FOR XML PATH(''), TYPE
                                ).value('.', 'VARCHAR(MAX)')
                                ,1
                                ,1
                                ,''
                            )
                            + 'FROM #DataSource';

EXEC sp_executesql @DynamicTSQLStatement;

并将其添加到.cs文件:

 <Grid Grid.Row="0" Grid.Column="1">
            <ContentControl x:Name="ListPanel" />
 </Grid>