当前位置:网站首页>c#通过frame 和 page 切换页面

c#通过frame 和 page 切换页面

2022-07-07 12:10:00 孔雀东南飞-深圳

背景 需要给一个项目添加licence功能 需要做个licence 页 然后mainwindow里面切换主页和登录页 为此 需要将 页面分开来

实现思路 在 mainwindow 中创建一个 frame 然后在对应的 cs 依据 licence 来判断是否加载主页

1 在 mainwindow 中使用 frame

<Grid>
    <Frame
        Grid.Row="1"
        x:Name="frmMain"
        Margin="0,0,0,0"
        NavigationUIVisibility="Hidden" FontSize="18">
    </Frame>
</Grid>

2 创建page 添加现有项 选择page 例如添加了 MainHolePage.xaml

3 在mainwindow 中指定显示的页

frmMain.Source = new Uri("View/MainHoldPage.xaml", UriKind.Relative);

ps:

1 添加到page之后发现keydown事件不能触发 后来解决了:

1 在 page 中写:

Loaded="Page_Loaded"

2 在对应的事件中写:

private void Page_Loaded(object sender, RoutedEventArgs e)
{
     var window = Window.GetWindow(this);
     window.KeyDown += Page_KeyDown;
}

3 然后page的keydown事件就可以触发了

或者采用广播的形式 但是比较复杂

原网站

版权声明
本文为[孔雀东南飞-深圳]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_44957370/article/details/125316581