System.InvalidOperationException:“Page 只能具有 Window 或 Frame 父级。”
时间: 2024-01-21 07:19:25 浏览: 544
System.InvalidOperationException:“未在本地计算机上注册“Microsoft.ACE.OLEDB
这个错误通常出现在 WPF 应用程序中,当你尝试将一个页面(Page)添加到一个非 Window 或 Frame 控件的父控件中时会抛出这个异常。
如果你需要将一个 Page 添加到一个控件中,你需要将这个控件设置为 Frame 控件,或者将这个 Page 显示在一个新的窗口中。
例如,在以下示例代码中,我们有一个名为 `myPage` 的页面,我们将其添加到名为 `myGrid` 的 Grid 控件中,这就会导致上述异常:
```xml
<Grid x:Name="myGrid">
<local:MyPage/>
</Grid>
```
为了解决这个问题,我们可以将 `myGrid` 控件替换为 Frame 控件,或者将 `MyPage` 显示在一个新的窗口中。
```xml
<Frame x:Name="myFrame"/>
```
或者在代码中打开一个新的窗口:
```csharp
MyPage myPage = new MyPage();
Window myWindow = new Window();
myWindow.Content = myPage;
myWindow.Show();
```
阅读全文