精华内容
下载资源
问答
  • 2017-05-26 10:48:12

    有需求

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

    具体实现

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

    //主窗口
    <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();
    }
    
    //展现网页的窗口
    <Grid>
        <!-- HorizontalAlignment="Stretch" VerticalAlignment="Stretch" 使Frame自适应父容器的大小。 -->
        <Frame x:Name="frame" Content="Frame" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="10,10,0,0" />
    </Grid>

    2.后台代码:

    public WebWindow()
    {
        InitializeComponent();
        //Uri需要完整:即包含http或https
        frame.Source = new Uri("https://www.baidu.com/");
    }

    这样就可以像在浏览器中使用一样,在自己的WPF程序中访问百度。但是要想实现交互,仅是这样子还是不够的。

    需要注意: Uri需要完整:即包含http或https,否则会报错:无效的 URI: 未能确定 URI 的格式。

    更多相关内容
  • WPF应用程序内嵌网页

    2019-10-19 12:43:37
    WPF内嵌网页,可以将网页本地化,经查找相关资料后,决定采用CefSharp 1、首先新建WPF工程,打开工具进入NUGET,搜索CefSharp,然后安装CefSharp.Wpf 2、完成后,将项目改为x64或者x86,然后添加引用,这里有...

    WPF内嵌网页,可以将网页本地化,经查找相关资料后,决定采用CefSharp

     

    1、首先新建WPF工程,打开工具进入NUGET,搜索CefSharp,然后安装CefSharp.Wpf

     

    2、完成后,将项目改为x64或者x86,然后添加引用,这里有两种方法分开来说,大同小异

     

    3、方法一:直接在xaml文件中引用,文件如下

    <Window x:Class="WpfApplication1.MainWindow"  
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"  
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"  
            xmlns:cefSharp="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf"  
            xmlns:local="clr-namespace:WpfApplication1"  
            mc:Ignorable="d"  
            Title="MainWindow" Height="350" Width="525">  
        <Grid>  
       
            <cefSharp:ChromiumWebBrowser  Name="mychrome" Grid.Row="0" Address="http://blog.csdn.net/shaynerain"/>  
        </Grid>  
    </Window>  

    4、方法二:在cs文件中添加引用,需要两个文件都做修改

    using System.Windows;  
    using CefSharp.Wpf;  
       
    namespace WpfApplication2  
    {  
        /// <summary>  
        /// MainWindow.xaml 的交互逻辑  
        /// </summary>  
        public partial class MainWindow : Window  
        {  
            ChromiumWebBrowser webView = null;  
            public MainWindow()  
            {  
                InitializeComponent();  
            }  
       
            private void Window_Loaded(object sender, RoutedEventArgs e)  
            {  
                string path = "http://blog.csdn.net/shaynerain";  
       
                webView = new ChromiumWebBrowser();  
                browserGrid.Children.Add(webView);  
                webView.Address = path;   
            }  
        }  
    }  
    
    
    <Window x:Class="WpfApplication2.MainWindow"  
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"  
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"  
            xmlns:local="clr-namespace:WpfApplication2"  
            mc:Ignorable="d"  
            Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">  
        <Grid Name="browserGrid">  
              
        </Grid>  
    </Window>  

    最后,虽然可以实现功能,但是使用起来,平滑感不友好

     

    From: https://blog.csdn.net/shaynerain/article/details/102637249

    展开全文
  • WPF内嵌网页的两种方式

    千次阅读 2019-11-27 17:36:00
    wpf程序中,有时会内嵌网页。内嵌网页有两种方法,一种是使用wpf自带WebBrowser控件来调用IE内核,另一种是使用CefSharp包来调用chrom内核。 一、第一种使用自带WebBrowser: 1、直接在界面XAML文件中添加如下...

      在wpf程序中,有时会内嵌网页。内嵌网页有两种方法,一种是使用wpf自带WebBrowser控件来调用IE内核,另一种是使用CefSharp包来调用chrom内核。

           一、第一种使用自带WebBrowser:

            1、直接在界面XAML文件中添加如下代码

    复制代码
    1 <Grid>
    2         <Grid.RowDefinitions>
    3             <RowDefinition Height="auto"/> 4 <RowDefinition Height="*"/> 5 </Grid.RowDefinitions> 6 <Button Content="{DynamicResource Exit}" Style="{StaticResource ButtonStyle}" Command="{Binding ExitCommand}"></Button> 7 <WebBrowser Grid.Row="1" x:Name="MyIE" Source="https://www.baidu.com/"></WebBrowser> 8 </Grid>
    复制代码

           效果如下:

          

           二、第二种,使用CefSharp包调用chrom内核

            1、在解决方案资源管理器-》引用-》右键-》管理NuGet包,下载下图所示的两个包

                

            2、在引用文件中添加xmlns:cefSharp="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf"       

            3、在界面XAML文件中添加如下代码:

    复制代码
    1 <Grid>
    2         <Grid.RowDefinitions>
    3             <RowDefinition Height="auto"/> 4 <RowDefinition Height="*"/> 5 </Grid.RowDefinitions> 6 <Button Content="{DynamicResource Exit}" Style="{StaticResource ButtonStyle}" Command="{Binding ExitCommand}"></Button> 7 <cefSharp:ChromiumWebBrowser Grid.Row="1" Name="MyChrom" Address="https://www.baidu.com/"/> 8 </Grid>
    复制代码

             4、解决方案资源管理器-》项目-》属性-》生成,修改平台目标为x86或者x64(使用cefSharp,必须指定目标平台,不能为AnyCPU)

                 

     

           效果如下:

           三、常见问题及解决方法

                 1、与.net版本不匹配

                    

                    两种解决方法:

                 (1)下载一个低版本的NuGet包

                 (2)解决方案资源管理器-》项目-》属性-》应用程序,目标框架改为4.5.2

                         

                2、出现错误:

    问题签名:
    问题事件名称: CLR20r3
    问题签名 01: XXX.exe
    问题签名 02: 1.0.0.0
    问题签名 03: f62cc746
    问题签名 04: CefSharp.Wpf
    问题签名 05: 49.0.1.0
    问题签名 06: 574e0907
    问题签名 07: 81
    问题签名 08: 0
    问题签名 09: System.IO.FileNotFoundException
    OS 版本: 6.1.7601.2.1.0.256.1
    区域设置 ID: 2052
    其他信息 1: 3b8f
    其他信息 2: 3b8f40338d3d7600dda7280b94b47c80
    其他信息 3: a55c
    其他信息 4: a55ca54e15598fd09281b24e67624ba3

    联机阅读隐私声明:
    http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0804

    如果无法获取联机隐私声明,请脱机阅读我们的隐私声明:
    C:\Windows\system32\zh-CN\erofflps.txt

     

         这个错误是作者将自己电脑程序拷贝到别人电脑时出现的错误,百度了很多,基本都是说.net版本不一致错误,安装了很多.net框架版本,并没有什么用。最后发现是由于缺少MicroSoft Visual C++ Redistributable,下载各个版本的包安装即可。

    展开全文
  • WPF内部嵌入网页

    2022-05-05 13:36:36
    很多时候我们需要把一个东西嵌入到WPF的界面当中,例如一个Page,需要利用Frame控件。在之前的文章可以看到。 接下来就是将网页嵌入到界面中,这用到的是WebBrowser控件,同样是加入到Grid控件当中。 <...

    很多时候我们需要把一个东西嵌入到WPF的界面当中,例如一个Page,需要利用Frame控件。在之前的文章可以看到。

    接下来就是将网页嵌入到界面中,这用到的是WebBrowser控件,同样是加入到Grid控件当中。

    <Grid  Height="343" Margin="529,315,0,0" Width="479">
       <WebBrowser x:Name="Web4" Height="270" Width="480"></WebBrowser>
    </Grid>

    宽高可以自己调节,我这里命名Web4,便于后面的调用。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    using System.IO;
    
    namespace 新版本
    {
        /// <summary>
        /// 首页.xaml 的交互逻辑
        /// </summary>
        public partial class 首页 : Page
        {
            public 首页()
            {
                InitializeComponent();
                Web4.Navigate(new Uri(Directory.GetCurrentDirectory() + "\\ShouYe3.html"));
            }
    
        }
    }
    

    在.cs里显示web,这里添加了一个绝对地址"\\ShouYe3.html",表示的是我所制作的网页,这个网页的界面是利用echarts制作的。

    想了解echarts制作图表的可以看我下一个文章。

    展开全文
  • I have a WPF application that is made exclusively for demonstration purposes about how to use a proprietary technology of my company (the app shows a map where tracked objects flying to and fro)....
  • WPF嵌入web页面的开发方式,能简单实现JS脚本和wpf mvvm的模式调用
  • WPF嵌入谷歌浏览器例子,支持WPF窗体与网页的js双向调用例子,并解决网页中下拉列表错位的案例,已经在项目应用起来,有需要的伙伴有福了
  • WPF中有个很好的机制,就是Frame,Frame不仅可以像网页中的Frame一样加载Wpf的page对象,还可以加载WEB,使用方法:当然也可以用Navigate方法设置Source的Uri,还可以通过设置Content,但是稍微麻烦一点,因为需要...
  • WPF 简单浏览器

    千次阅读 2019-02-16 14:35:10
    使用WPF实现浏览器的基本功能并不难, 这里只是使用了WPF中的一个浏览器控件。 首先看看效果图: Xaml代码:   界面主要为三个Button控件(前进、后退、刷新)、TextBox控件(输入网址)以及WebBrowser控件...
  • 最好的办法是WPF这边XAML写好一个容器,用户使用HTML可视化编辑器(比如这个)来准备好网页,输出HTML网页文件,再将网页嵌入WPF中。选择插件:Webkit.Net只支持32位的,已经好多年没再更新了,试过后不太好用。最后搜...
  • 这使您的应用程序能够非常快速地启动和运行,有一些重要的事情需要注意,这可能并不适合所有人。 2.页面闪烁 setting.CefCommandLineArgs.Add("disable-gpu", "1"); 3.使用CefSharp控件,在部分高分辨率的电脑中...
  • 2、WPF应用程序中打开 WebBrowser wBrowser = new WebBrowser ( ) ; wBrowser . Source = new Uri ( "http://www.baidu.com" ) ; this . Content = wBrowser ; 转载于:...
  • 2、中间左边是个网页,右边为截图展示区 动图如下: 截图会受到系统显示设置的影响,如多个显示器,每个显示器的大小不一,每个显示器的缩放布局,以及哪个显示器为主显示器等影响。(我的电脑2显示器为主...
  • 0x00 楔子 最近做的一个项目,是一个油田三维可视化监控的场景编辑和监控的系统,和三维组态有些类似,不过主要用于... 直到客户说,我们有一个WPF开发的桌面端程序,我们需要把你们的三维嵌入到桌面端。 0x01 寂静...
  • 1、点击项目应用下的管理NuGet程序包 2、在浏览中输入cefsharp--》查找 CefSharp.Wpf--》点击安装,等待安装完成 3、如果遇到一下问题将解决方案和项目都改成64位 点击解决方案--》右键选择属性--》点击...
  • WPF中内嵌网页的两种方式

    千次阅读 2019-04-28 13:41:00
    wpf程序中,有时会内嵌网页。内嵌网页有两种方法,一种是使用wpf自带WebBrowser控件来调用IE内核,另一种是使用CefSharp包来调用chrom内核。 一、第一种使用自带WebBrowser: 1、直接在界面XAML文件中添加如下...
  • MiniBlink支持的css效果比WebBrowser和WebKitBrowser强多了,而且文件少,体积也很小,源码里有教程,可以说是在winform里插入web的绝佳途径
  • wpf中使用cefsharp加载本地html网页并实现cs和js的交互并且cefshwpf中使用cefsharp加载本地html网页并实现cs和js的交互,并且cefsharp支持any cpu第一步:using CefSharp;using CefSharp.Wpf;using System;using ...
  • WPF 打开网页

    2018-03-06 18:26:00
    2、在应用程序中打开  WebBrowser wb = new WebBrowser();  wb.Source = new Uri(" http://www.baidu.com ");  UserControl u = new UserControl();  u.Content = wb;  将u 显示出来 转载于:...
  • 转载于:http://nishantrana.wordpress.com/2009/03/26/using-hyperlink-in-wpf-application/...To user hyperlink in WPF application we could do something like this <TextBlock>  <Hyperlink Nav...
  • 用ASP.NET写好的网站发布在云服务器的IIS上,并引用WCF服务(这里要将localhost换为公网IP),这时候就能够在本地的计算机上访问网页;格式为 公网IP:发布的端口; 3.在本地用WPF客户端添加WCF服务引用(这里要将...
  • 自 Microsoft 于 2006 年将 WPF作为 .NET 框架的一部分引入以来,该平台在 Windows 开发人员中越来越受欢迎。令我惊讶的是,到2015年为止... WPF是一个用于创建令人惊叹的 GUI 应用程序的框架。它在 .NET 社区中非...
  • WPF实例(一)

    2020-11-14 00:18:37
    WPF是Windows Presentation Foundation的首字母缩写,中文译为“Windows呈现基础”。
  • 119 createDocumentFromUrl //下载指定网页并返回其 IHTMLDocument2 接口 120 CreateEventObject //生成当使用 fireEvent 方法时用于传递事件相关信息的 event 对象 ??? 121 FireEvent 122 123 {IHTMLDocument4 ...
  • WPF简介:VS创建桌面应用程序

    千次阅读 2016-11-26 22:19:20
    1、简介 1/ 什么是WPF WPF,Windows Presentation...如果只是给用户显示几串文本、两三张图片或者几个表格那WPF就太糗了,幸乎,WPF可不是这等素食动物——大家都见过Flash动画吧,WPF的显示能力丝毫不亚于Flash以及F

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,876
精华内容 2,350
关键字:

wpf网页应用