gpt4 book ai didi

c# - WPF - 无法在 WebBrowser 控件中从本地计算机打开文件

转载 作者:可可西里 更新时间:2023-11-01 13:34:59 25 4
gpt4 key购买 nike

我目前正在使用 C# 开发一个 HTML 编辑器,它有一个预览选项,但它不编译...这是我的代码:

        string tempPath = System.IO.Path.GetTempPath();//get TEMP folder location
tempPath += "htmldev\\";
if (!Directory.Exists(tempPath))
{
Directory.CreateDirectory(tempPath);
}
tempPath += "current.html";
if(File.Exists(tempPath))
{
File.Delete(tempPath);//delete the old file
}
StreamWriter sr = new StreamWriter(tempPath);
sr.WriteLine(textHtml.Text);//write the HTML code in the temporary file
sr.Close();
previewBrowser.Source = new Uri(tempPath);//When I comment this line my program compiles successfully, and the file is created.

我也尝试过使用 Navigate() 方法,但它也不起作用。

我没有收到任何错误或警告。编辑:如果我尝试打开一个网站,比如 google.com,它可以正常工作。

最佳答案

我相信您的 XAML 无法正常运行,因为 Source="bing.com/" 不是 Uri 构造函数的有效参数(显然,您的代码可以编译但不运行)。只需删除 Source 即可运行:

<WebBrowser x:Name="previewBrowser" HorizontalAlignment="Left" 
Height="593" Margin="651,45,0,0" VerticalAlignment="Top" Width="545"/>

如果您最初确实需要一个非空的 WebBrowser,请使用 Source="about:blank"Source="http://bing.com/"

下面的编译和运行都很好。

C#:

using System;
using System.IO;
using System.Windows;

namespace WpfWb
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();

this.Loaded += (s, e) =>
{
var textHtml = "<html><body><b>Hello</b>, World!</body></html>";

string tempPath = System.IO.Path.GetTempPath();//get TEMP folder location
tempPath += "htmldev\\";
if (!Directory.Exists(tempPath))
{
Directory.CreateDirectory(tempPath);
}
tempPath += "current.html";
if (File.Exists(tempPath))
{
File.Delete(tempPath);//delete the old file
}
StreamWriter sr = new StreamWriter(tempPath);
sr.WriteLine(textHtml);//write the HTML code in the temporary file
sr.Close();

previewBrowser.Source = new Uri(tempPath);//When I comment this line my program compiles successfully, and the file is created.
};
}
}
}

XAML:

<Window x:Class="WpfWb.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<WebBrowser x:Name="previewBrowser"/>
</Window>

关于c# - WPF - 无法在 WebBrowser 控件中从本地计算机打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19137014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com