首页 > 其他分享 >WebBrowser采用MVVM绑定的方式更新内容

WebBrowser采用MVVM绑定的方式更新内容

时间:2024-10-23 11:42:38浏览次数:1  
标签:obj string MVVM 绑定 WebBrowser static public

WebBrowser本身并没有提供MVVM方式更新网页内容的方式。
因为现在公司的项目基本上都使用MVVM的方式开发了。
所以想着,也可以简单地封装一个类来实现前后台绑定的功能

实现代码:

public static class WebBrowserBehaviour
{
    public static readonly DependencyProperty HtmlTextProperty =
        DependencyProperty.RegisterAttached(
            "HtmlText",
            typeof(string),
            typeof(WebBrowserBehaviour),
            new UIPropertyMetadata(null, (s, e) =>
            {
                if (s is WebBrowser ue && e.NewValue != null)
                {
                    ue.NavigateToString(e.NewValue?.ToString());
                }
            })
        );

    public static string GetHtmlText(DependencyObject obj)
    {
        return (string)obj.GetValue(HtmlTextProperty);
    }

    public static void SetHtmlText(DependencyObject obj, string value)
    {
        obj.SetValue(HtmlTextProperty, value);
    }
}

前台使用:

<WebBrowser cg2:WebBrowserBehaviour.HtmlText="{Binding HtmlText, Mode=OneWay}" />

标签:obj,string,MVVM,绑定,WebBrowser,static,public
From: https://www.cnblogs.com/wzwyc/p/18496063

相关文章

  • 在Lua中实现Rust对象的绑定tT
    合集-算法(7)1.TimerWheel(计时轮)在Rust中的实现及源码解析06-122.Rust性能分析之测试及火焰图,附(lru,lfu,arc)测试06-183.Lru-k在Rust中的实现及源码解析06-214.带有ttl的Lru在Rust中的实现及源码解析06-24:westworld加速5.Lfu缓存在Rust中的实现及源码解析06-276.Rust宏之der......
  • 在Lua中实现Rust对象的绑定
    实现目标:能将Rust对象快速的映射到lua中使用,尽可能的简化使用。功能目标以structHcTestMacro为例:类型构建,在lua调用localval=HcTestMacro.new()可构建类型析构,在lua调用HcTestMacro.del(val)可析建,仅限lightuse**rdata字段的映射,假设有字段hc,我们需要能快速的进行字段......
  • POJ 3737 UmBasketella & printf占位符%lf和%f & cin/cout取消绑定加速 & cin/cout保
    POJ3737UmBasketella推导之后发现,体积先增后减,所以我们三分。#include<stdio.h>#include<algorithm>#include<cmath>#include<iostream>#include<string>#defineFor(i,j,n)for(inti=j;i<=n;++i)constdoublepi=acos(-1.0);......
  • 毫末智行IPO之路荆棘密布,深度绑定长城汽车或成绊脚石
    在自动驾驶的浪潮中,毫末智行曾被视为一颗冉冉升起的新星。然而,随着其IPO计划的波折和与长城汽车关系的复杂性逐渐浮出水面,这家企业的未来开始蒙上一层阴影。近日,关于长城汽车董事长魏建军暂时叫停毫末智行港股IPO的消息虽被毫末智行董事长张凯否认,但这一事件无疑加剧了市场对......
  • 轻松上手-MVVM模式_关系型数据库_云函数T云数据库
    作者:狼哥团队:坚果派团队介绍:坚果派由坚果等人创建,团队拥有12个华为HDE带领热爱HarmonyOS/OpenHarmony的开发者,以及若干其他领域的三十余位万粉博主运营。专注于分享HarmonyOS/OpenHarmony、ArkUI-X、元服务、仓颉。团队成员聚集在北京,上海,南京,深圳,广州,宁夏等地,目前已开发鸿蒙原......
  • DevExpress WinForms中文教程:Data Grid - 如何为网格绑定ADO. NET数据
    在本教程中,您将学习如何做到以下几点:在一个WinForms项目中创建并配置ADO.NET数据源将DevExpressWinForms数据网格绑定到数据源。将更改发布到数据库。P.S:DevExpressWinForms拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForms能......
  • 解决WebBrowser背景不能透明的问题
    在WPF中使用WebBrowser控件时,WebBrowser是一个单独绘制句柄,除了显示层级更高外,还不支持透明。在我前面的文章中,解决了不规则窗口下,将WebBrowser显示出来。https://www.cnblogs.com/zhaotianff/p/18408345但是在页面未加载出来之前,能看到短暂的白屏情况。一开始我查阅了各种资......
  • 解决WPF WebBrowser当前页面的脚本错误问题
    因为会有用户要求,需要将客户端体积最小化,不能使用新的浏览器控件,只能使用WebBrowser。而WebBrowser是IE内核的,现在很多js的API已经不能识别了。所以会报脚本错误,类似下面这样 解决方法的原理:WebBrowser内部是一个InternetExplorer实例,对应的是IWebBrowser2实例。IWebBrowse......
  • 数据绑定
    (1)数据绑定页面数据如下Page({  data: {    info:'hello world'  }})页面机构如下<view>{{info}}</view>(2)属性值绑定页面数据如下Page({data:{ imgSrc:"https://bkimg.cdn.bcebos.com/pic/0eb30f2442a7d9334c218e0fab4bd11372f001c4"}})......
  • WPF中MVVM的应用举例
    WPF(WindowsPresentationFoundation)是微软开发的用于创建用户界面的框架,而MVVM(Model-View-ViewModel)模式是一种分离前端UI逻辑与后台业务逻辑的方法。在WPF中使用MVVM模式可以提高代码的可维护性、可测试性和可扩展性。在这篇文章中,我们将深入探讨WPF中的MVVM模式,并通过具......