在xaml中将html字符串内容绑定到Webview

2023-11-28

我的 xaml 中有一个 webview,如下所示:

<WebView x:Name="WebView" />

而且,在我的代码隐藏中,我有一个名为“htmlcontent”的变量,其中包含 html 字符串数据,如下所示:

<html><body><b>Hi there</b></body></html>

如何绑定这个 html 字符串并在 XAML 的 webview 组件中显示它的格式?

*编辑 - 顺便说一句,我正在做一个 Windows 8 Metro 应用程序,因此不支持 WebBrowser 控件


WebView 上不存在 HtmlString 属性(只有作为 Uri 的 Source 属性)。但是您可以做的是为 WebView 自己定义一个新的 HtmlString 附加属性。只需创建以下类:

namespace YOURNAMESPACE
{
    class MyProperties
    {
     // "HtmlString" attached property for a WebView
     public static readonly DependencyProperty HtmlStringProperty =
        DependencyProperty.RegisterAttached("HtmlString", typeof(string), typeof(MyProperties), new PropertyMetadata("", OnHtmlStringChanged));

     // Getter and Setter
     public static string GetHtmlString(DependencyObject obj) { return (string)obj.GetValue(HtmlStringProperty); }
     public static void SetHtmlString(DependencyObject obj, string value) { obj.SetValue(HtmlStringProperty, value); }

     // Handler for property changes in the DataContext : set the WebView
     private static void OnHtmlStringChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) 
     {
        WebView wv = d as WebView; 
        if (wv != null) 
        { 
            wv.NavigateToString((string)e.NewValue); 
        } 
     }
    }
}

假设您的 DataContext 字段名为 CurrentHtmlString,那么您可以在 XAML 文件中使用这个新 WebView 的 HtmlString 属性来绑定它,语法如下:

 <WebView local:MyProperties.HtmlString="{Binding CurrentHtmlString}"></WebView>

通常,您的 XAML 文件顶部已包含以下行:

xmlns:local="using:MYNAMESPACE"

您可以在这里找到 Rob Caplan 的更多解释:http://blogs.msdn.com/b/wsdevsol/archive/2013/09/26/binding-html-to-a-webview-with-attached-properties.aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在xaml中将html字符串内容绑定到Webview 的相关文章

  • Func 方法参数的首选命名约定是什么?

    我承认这个问题是主观的 但我对社区的观点感兴趣 我有一个缓存类 它采用类型的缓存加载器函数Func
  • 如何在没有 Control.Invoke() 的情况下从后台线程修改控件属性

    最近 我们遇到了一些旧版 WinForms 应用程序 我们需要更新一些新功能 在专家测试该应用程序时 发现一些旧功能被破坏 无效的跨线程操作 现在 在您认为我是新手之前 我确实有一些 Windows 窗体应用程序的经验 我不是专家 但我认为
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • 为什么禁止在 constexpr 函数中使用 goto?

    C 14 对你能做什么和不能做什么有规则constexpr功能 其中一些 没有asm 没有静态变量 看起来相当合理 但标准也不允许goto in constexpr功能 即使它允许其他控制流机制 这种区别背后的原因是什么 我以为我们已经过去
  • 将字符串从非托管代码传递到托管

    我在将字符串从非托管代码传递到托管代码时遇到问题 在我的非托管类中 非托管类 cpp 我有一个来自托管代码的函数指针 TESTCALLBACK FUNCTION testCbFunc TESTCALLBACK FUNCTION 接受一个字符
  • 如何在 WPF RichTextBox 中跟踪 TextPointer?

    我正在尝试了解 WPF RichTextBox 中的 TextPointer 类 我希望能够跟踪它们 以便我可以将信息与文本中的区域相关联 我目前正在使用一个非常简单的示例来尝试弄清楚发生了什么 在 PreviewKeyDown 事件中 我
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • 在 ASP.Net Core 2.0 中导出到 Excel

    我曾经使用下面的代码在 ASP NET MVC 中将数据导出到 Excel Response AppendHeader content disposition attachment filename ExportedHtml xls Res
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • 用 C 实现 Unix shell:检查文件是否可执行

    我正在努力用 C 语言实现 Unix shell 目前正在处理相对路径的问题 特别是在输入命令时 现在 我每次都必须输入可执行文件的完整路径 而我宁愿简单地输入 ls 或 cat 我已经设法获取 PATH 环境变量 我的想法是在 字符处拆分
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • 可空属性与可空局部变量

    我对以下行为感到困惑Nullable types class TestClass public int value 0 TestClass test new TestClass Now Nullable GetUnderlyingType
  • 什么是 C 语言的高效工作流程? - Makefile + bash脚本

    我正在开发我的第一个项目 该项目将跨越多个 C 文件 对于我的前几个练习程序 我只是在中编写了我的代码main c并使用编译gcc main c o main 当我学习时 这对我有用 现在 我正在独自开展一个更大的项目 我想继续自己进行编译
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • WebView 在某些设备上如果不长按则不会滚动

    我有一个 WebView 设置如下 the web view mWebView WebView findViewById R id webView push the url on to the web view mWebView loadU
  • 方法参数内的变量赋值

    我刚刚发现 通过发现错误 你可以这样做 string s 3 int i int TryParse s hello out i returns false 使用赋值的返回值是否合法 Obviously i is but is this th
  • Bing 地图运行时错误 Windows 8.1

    当我运行带有 Bing Map 集成的 Windows 8 1 应用程序时 出现以下错误 Windows UI Xaml Markup XamlParseException 类型的异常 发生在 DistanceApp exe 中 但未在用户
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但
  • 不同类型的指针可以互相分配吗?

    考虑到 T1 p1 T2 p2 我们可以将 p1 分配给 p2 或反之亦然吗 如果是这样 是否可以不使用强制转换来完成 或者我们必须使用强制转换 首先 让我们考虑不进行强制转换的分配 C 2018 6 5 16 1 1 列出了简单赋值的约束

随机推荐

  • 关于 C# 中常量小数字段的令人困惑的警告

    我正在尝试const修改器 同时探索大量的 C 教程 并放置了一堆const像这样的类中的修饰符而不在任何地方实际使用它们 class ConstTesting const decimal somedecimal 1 const int s
  • 无法初始化集群。请检查您的配置中的mapreduce.framework.name和相应的服务器地址-提交job2remoteClustr

    我最近将集群从 Apache Hadoop1 0 升级到 CDH4 4 0 我在另一台机器上有一个 weblogic 服务器 我通过 mapreduce 客户端将作业提交到这个远程集群 我仍然想使用 MR1 而不是 Yarn 我已经根据 C
  • 使用 advapi32.dll:LogonUserA() 模拟远程计算机的本地用户

    我需要能够在远程计算机上运行 RegLoadKey 并且可能我的计算机和远程计算机不在同一域中 如果是的话 下面的代码可以正常工作 我可以模拟在计算机上具有管理员权限的用户 否则 如果我们谈论本地用户 我发现我的计算机上必须有一个具有相同用
  • sliderInput 最大/最小文本标签

    我目前正在开发具有多个滑块输入的仪表板 是否可以用文本替换最大和最小标签 例如 我的 min 1 和 max 10 我想将比例保持在 1 到 10 之间 同时让滑块标签分别显示为 较早 和 较晚 Thanks 遗憾的是 简短的回答是否定的
  • 在 D3.js 中缩放或平移时限制域

    我实现了一个简单的 D3 js 折线图 可以缩放和平移 它基于 Stephen Bannasch 的优秀示例here 我的数据域是 x 维度中的 0 n 如何使用内置缩放行为 即使用鼠标滚轮事件 将缩放和平移限制到此域 我想防止用户在下端平
  • 在 Webview 中打开输入类型文件的相机未打开 Android

    我是安卓新手 我正在创建一个小应用程序来拍照并将其上传到服务器 我正在使用 Webview 和 html 表单来做到这一点 在浏览器 chrome 中相机正在打开 但在 webview 中 单击 选择文件 时不会打开相机 有人知道解决办法吗
  • 分割字符串并返回mssql中最大的

    我需要找到一种方法来获取具有最高versionNumber的数据 这是我的数据库设计 VERSIONNUMBER varchar 15 DOWNLOADPATH varchar 100 假设我有这样的记录 VERSIONNUMBER DOW
  • 如何禁用浏览器上的 F5 刷新?

    最好使用 JavaScript 但也想听听其他方法 这将禁用 F5 但不会禁用实际的刷新功能 document onkeydown function e if e keyCode 116 return false 至少在 Chrome XP
  • opengl创建一个用于读取的深度模板纹理

    我在应用程序中使用延迟渲染 并尝试创建一个包含深度和模板的纹理 glTexImage2D GL TEXTURE 2D 0 GL DEPTH24 STENCIL8 width height 0 GL FLOAT 0 现在 opengl 对于这
  • 带有空格、双引号、管道的批处理文件参数

    我有一个批处理文件 需要传递一个包含管道和空格的参数 由于存在空格 因此在传入参数时需要将双引号附加到参数上 我需要去掉这些双引号并回显参数 通常 使用 可以让我做到这一点 但我认为我传入的特定参数会导致问题 如果我这样做 测试1 bat
  • Pandas 通过行号(不是行索引)和列名称获取单元格值

    data tom 10 nick 15 juli 14 df pd DataFrame data columns Name Age index 7 3 9 display df df iat 0 0 我想返回第一行中的年龄 基本上类似于 d
  • 用 C 写入 CSV 文件 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我的 C 程序生成此数据 我需要将其放入 CSV 文件中 以便其他程序可以使用它 我怎样
  • Android - 加速下降(粉碎)

    视频为不懂的人讲解 此答案未正确回答 请尝试使用其他解决方案来回答 100 赏金已过时 同样的问题 但更好的解释 这个问题被认为是正确的 但根本不是 我用我的旧设备 ZTE 尝试过 大部分时间都有效 但现在我有一台三星 Galazy A5
  • 异步/等待类构造函数

    目前 我正在尝试使用async await在类构造函数中 这样我就可以定制e mail我正在开发的 Electron 项目的标签 customElements define e mail class extends HTMLElement
  • 应用程序中的最大活动量?安卓

    Android 应用程序中有类似最大活动的东西吗 我想知道 因为我正在考虑创建具有铃声功能的声音应用程序 它将有大约 40 项活动 但只有 1 个会持续运行 是不是太多了 我应该寻找其他方法吗 解释为什么我需要 40 项活动 我有 30 个
  • Python 中的不变性 [重复]

    这个问题在这里已经有答案了 我试图了解 python 中的不变性是如何工作的 由于字符串在 python 中是不可变的 所以我希望每次执行字符串操作时 id 都会改变 但它没有按预期工作 例子 对 t 的最后一次操作不会更改其 id 有什么
  • 使用 Crypto++ 的 AES 示例 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我一直在互联网上搜索goodc AES 代码示例 教程 教授加密技术的基础知识和库的使用 但到目前为止我还没有运气获得像样的材料 好 易于理解 只是移动学习的基础知识 官方文件加密
  • 运行 Heroku 控制台无法启动

    我正在尝试运行 Heroku 控制台 但在控制台中 我收到消息 运行连接到终端的控制台 但控制台没有启动 在 Heroku 日志中 我收到错误 Error no child processes attached 有什么帮助吗 我刚刚与 He
  • jsp:setproperty property="*" 是什么意思?

  • 在xaml中将html字符串内容绑定到Webview

    我的 xaml 中有一个 webview 如下所示