c# - 使用 wpf webbrowser 控件导航到带有变音符号的 uri

标签 c# wpf webbrowser-control

我正在使用 WPF WebBrowser 控件导航到包含这样一个 PDF 文件的 URI:

XAML

<WebBrowser x:Name="Browser" Loaded="Browser_OnLoaded"/>

代码隐藏

        url = @"file:///c:\A.pdf"; // This works
        url = @"file:///c:\Ä.pdf"; // This shows error

        Browser.Navigate(url);

Ä.pdf 错误

enter image description here

问题

如何使用变音符号导航到文件?

我尝试了 UrlEncoding,更改为 ASCII 编码,使用扩展的 ASCII 都没有成功。可能吗?


编辑

使用 WebUtility.UrlEncode("Ä"); 生成 %C3%84 为什么?:

enter image description here

最佳答案

我认为这里的解决方案不是尝试花哨的编码,而是使用 Uri 类。

这在 WPF WebBrowser 控件中对我有用:

var uri = new Uri("c:\users\täto\AppData\Roaming\MarkdownMonster\_preview.html");
PreviewBrowser.Navigate(uri);

看起来 Uri 类可以毫不费力地处理所有编码。

关于c# - 使用 wpf webbrowser 控件导航到带有变音符号的 uri,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39166451/

相关文章:

c# - 将哈希表绑定(bind)到 WPF 组合框

带进度条的 WPF SplashScreen

c# - 识别 Web 浏览器的垂直滚动到达 c# 中的最后位置

html - Webbrowser 从动态组合框中选择值

javascript - Chrome - 离线页面

c# - 无法将资源 key 分配给 asp.net 标签

c# - 如何禁止因在 .NET 项目中使用 COM 引用而产生的编译器警告

c# - 如何在页面加载时动态更改 aspx 页面的标题

c# - 使用 DataTrigger 以样式绑定(bind)到 Self

c# - 找不到类型或命名空间名称 '...'(是否缺少 using 指令或程序集引用?)