zoukankan      html  css  js  c++  java
  • 桌面程序的其他实现方式----使用WPF窗体展现网页

    需求

    在WPF应用程序中,需要使用到WEB项目的资源,第一时间想到的就是在WPF窗口中,展现WEB项目中的页面,这样子有两点好处:一是,实现简单,不需要在WPF应用程序中实现UI布局和数据绑定;二是,灵活适应变化,需求有变化时,只需修改WEB项目,WPF项目不需要变动。事物都是两面的,有优点就有缺点,这样做的缺点是:没有充分利用WPF绚丽的界面风格。

    实现

    在WPF中展现WEB页面有多种实现方式,我选择最简单的一种:使用WPF自带的Frame控件。 


    1.主窗体:

    //主窗口
    <Button x:Name="button1" Content="打开网页" HorizontalAlignment="Left" Margin="217,180,0,0" VerticalAlignment="Top" Width="75" Click="button1_Click"/>
    //后台代码
    private
    void button1_Click(object sender, RoutedEventArgs e) { WebWindow webWin = new WebWindow(); webWin.Show(); }

    2.展示窗体:

    //展现网页的窗口
    <Grid>
        <!-- HorizontalAlignment="Stretch" VerticalAlignment="Stretch" 使Frame自适应父容器的大小。 -->
        <Frame x:Name="frame" Content="Frame" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="10,10,0,0" />
    </Grid>
    public WebWindow()
    {
        InitializeComponent();
        //Uri需要完整:即包含http或https
        frame.Source = new Uri("https://www.126.com/");
    }

    这样就能在WPF中,像桌面程序一样访问我们的WEB网站,真是不学WPF也能搞定桌面程序的捷径。

    注意:该WEB程序不能打开新的页面,否则就曝光了WEB程序德尔本质。

     

  • 相关阅读:
    关于代码片段
    感谢visual studio(git插件)救我一命
    SRX一些配置命令
    .NET Core Policy和Claim
    .NET Core Identity 用户管理和策略
    .NET Core基础配置、注册服务、中间件、ViewComponent、DbContext
    table非常细边框
    js数字转大写金额
    蓝牙开发
    Laravel artisan 命令
  • 原文地址:https://www.cnblogs.com/DreamRecorder/p/9661845.html
Copyright © 2011-2022 走看看