RIA Services之商业应用----9.1 MVVM+RIA Service

UL(Underwriters Laboratories)标准详解:从认证体系到落地实践 UL(美国保险商试验所)是全球知名的安全认证机构,其标准体系涵盖电气、电子、机械等领域,核心目标为保障人身安全、规范产品设计、建立市场信任。常见标准如UL 62368-1、UL 94等,广泛应用于北美市场,并被全球采纳。认证类型包括Listed、Recognized Component等,流程涵盖申请、测试、工厂检查与持续监督。关键测试项目涉及温升、耐压、防火及异常操作等。建议早期介入标准要求,优选认可元器件,预留安全裕量,避免常见误区。UL认证不仅是合规门槛,更是提升产品全球竞争力的重要保障。 阅读详情
MVVM模式或者简称VM模式是针对WPF和Silverlight这种具有很强的数据绑定功能的开发语言而提出的。之前有看过很多WPF的代码,大家基本上都是使用的MVVM模式开发。最近Silverlight4的火爆引出了Silverlight的MVVM模式开发也多了。
如果你对MVVM不了解我想下面的简单介绍应该会对你有帮助。
 
MVVM模式最大的好处是让整个开发过程中的UI设计和后台的代码编写完全分开了,大家互不影响,设计者可以专注于使用Express Blend等去设计页面也就是View,而开发的可以完全去通过Model来定义要操作的object,通过ViewModel来定义出来需要对这些model做哪些操作。最后使用Command来把Model和View完全联系到一起。
 
这是我写得第一篇MVVM文章,而且是使用RIA Service。我相信当你看完下面的文章,完全会理解并能够使用MVVM模式了。
1.   创建一个允许使用RIA Service的SilverLight Application:
相信不需要多说了。
2.   创建Model
这里以Product作为一个model:
 
3.   创建Domain Service
再创建Domain Service之前先准备一些数据,所以要创建一个class:
public  class ProductRepository
    {
        private static readonly List<Product> Products =
            new List<Product>() {
                new Product { ProductID = 355, Name = "Rain Racer 2000", ModelNumber = "RU007", Description = "Looks like an ordinary bumbershoot, but don't be fooled! Simply place Rain Racer's tip on the ground and press the release latch. Within seconds, this ordinary rain umbrella converts into a two-wheeled gas-powered mini-scooter. Goes from 0 to 60 in 7.5 seconds - even in a driving rain! Comes in black, blue, and candy-apple red.", UnitCost = 99.99m }},
                  public IQueryable<Product> FindAllProducts() {
            return Products.AsQueryable();
        }
接下来创建一个空的domain service。我们需要手动添加一个方法来获得上面的Products这个list中的数据。
 
4.  View 页面的添加:
实际上这里如果是设计人员在做页面,我们根本不需要管到底它页面上有哪些按钮,哪些功能。我们只需要去做接下来的一步,添加ViewModel。
这里我添加了一个页面,然后看一下它的页面XAML结点和后台的代码:
 
黑色线条上面就是传说中的SearchViewModel Class,所有的数据都有它提供。
下面红色圈住的地方你可能注意到就基本上是页面中的所有主要控件,RIA Service根本记没有在页面里,绿色部分是数据绑定,既然没有数据源哪来的绑定?是不是后台代码里初始化时把数据源给绑定了?看看后台代码:
  public SearchView() {
            InitializeComponent();
        }
什么都没有,所以说真正的MVVM模式中View页面的.cs文件都是可以去掉的。这就是为什么设计人员只需要专注于设计,开发人员只需要写代码。所以说数据绑定时MVVM最重要的。上面的SearchViewModel就是我们接下来要写得ViewModel。
5.  ViewModel 类:
首先需要记住ViewModel必须继承Model类,或者是Model的继承类。
我们在ViewModel中需要做什么呢?需要做两件事情,1是在View页面加载时我们需要让它的DataGrid显示数据,2是我们提供一个搜索按钮,当页面上某个按钮点击时,重新从服务器端load数据。
 
你会发现在ViewModel类中的Properties Products和SelectedProduct就是上面View页面中DataBinding的内容。
当点击View中那个按钮时,ViewModel中的Search方法会执行:
public  void Search(string keyword)
        {
            keyword = keyword.Trim();
            if (keyword.Length == 0)
            {
                return;
            }
 
            if (SearchStarting != null)
            {
                SearchStarting(this, EventArgs.Empty);
            }
 
            _catalog.Products.Clear();
 
            _catalog.Load(_catalog.GetProductsQuery(keyword), (lo) =>
                {
                 
                }, null);
            SearchCompleted(this, EventArgs.Empty);
           
        }
它通过传入的参数来从服务器得到Products,然后 清空当前的RIA Service数据源,重新绑定数据。
搞定,运行下看看结果:
 

 

源代码下载

最强解析!CWRU轴承数据集Python实战:从数据加载到模型部署全流程 本文提供了一份完整的CWRU轴承数据集Python实战指南,涵盖从数据加载、预处理、特征工程到模型构建与训练的全流程。详细解析了如何利用1D-CNN、Transformer等深度学习模型进行轴承故障诊断,并介绍了模型评估、可解释性分析以及通过FastAPI部署模型的实用方法,为工业设备智能运维提供了一套可复用的解决方案。 阅读详情

相关推荐

【半桥LLC】半桥LLC谐振开环闭环软启动DCDC变换器的设计与仿真

本文详细分析了半桥LLC谐振DC-DC变换器的开环与闭环控制设计原理,重点探讨了软启动功能的实现。通过仿真验证,展示了开环与闭环情况下的电压输出差异以及系统效率的提升。该研究为提高DC-DC变换器性能提供了参考。

2401_84610415的博客 2598

技术谣言识别指南:从Silverlight误读看开发者信息判断力

在技术传播中,‘框架被抛弃’‘某技术已死’等断言常源于信息压缩与语境剥离。理解一项技术的真实定位,需回归其核心原理——如Silverlight并非浏览器插件的简单复刻,而是WP7系统级运行时;其价值也不在跨平台代码复用,而在开发者心智模型与工程能力的可迁移性。这种基于产品边界、演进节奏与商业逻辑的三维分析,构成了抵御技术噪音的技术判断力基础。尤其在HTML5崛起与PDC战略转向的交叉节点,Silverlight的‘隐身式演进’揭示了技术生命周期中常见的策略适配现象:分发模式升级不等于技术退场,平台重心转移不

as2886089的博客 485

工业界实战:小红书推荐系统中的AB测试策略解析——分层、Holdout与反转实验

本文深入解析了小红书推荐系统在工业界实践中采用的AB测试核心策略。重点阐述了分层实验如何解决多实验并行与干扰问题,Holdout机制如何作为评估黄金标准提供稳定基准,以及反转实验如何作为全量上线后的终极安全网进行风险控制。这些策略共同构成了科学、严谨的线上评估体系,是保障推荐系统迭代效果与决策质量的关键。

transformer2023的博客 477

Silverlight技术演进真相:被误读的跨平台战略

跨平台开发框架是企业级应用构建的核心基础设施,其演进逻辑需回归技术本质而非媒体叙事。Silverlight并非简单浏览器插件,而是微软‘三屏一云’战略中Windows Phone 7的原生应用开发框架,与WPF、XAML共享底层抽象与工程范式。它在富企业应用(LOB)、高保真媒体渲染、离线交互等场景具备HTML5在2010–2012年间难以替代的技术价值。这种基于场景分工的‘前端分层、后端统一’架构,体现了成熟技术栈的战略聚焦而非退场。对.NET开发者而言,掌握XAML+MVVM+DependencyObj

unixboy 529

别再为授权费头疼了!手把手教你免授权搞定西门子、马扎克等12种主流数控机床的数据采集

本文提供了一套免授权采集西门子、马扎克等12种主流数控机床数据的实战指南,帮助中小型机加工车间节省80%以上的采集成本。通过TCP/UDP协议逆向工程和跨平台数据整合,实现经济、灵活且可持续的数据采集方案,涵盖设备兼容性处理、数据频率优化等关键问题。

weixin_26873711的博客 709

电赛MSP430F5529之超声波测距+OLED 显示(含主要代码)

目录 前言 一、超声波介绍 二、部分代码 三、总结 题外话: 前言 哎,又双叒叕,电赛延期了,看起来像是遥遥无期,但是肯定要考虑大局,大家就继续抓紧时间学习知识,巩固自己的知识,更进一步。好了,今天主要是继承上一篇博文(OLED显示)写的,主要是写超声波测距的(US-015) 一、超声波介绍 利用TI公司的MSP430F5529单片机+超声波模块+OLED 实现 这里主要是利用单片机定时器的捕获功能来捕获超声波高电平持续时间,再计算得到距离,最后再在OLED 屏幕上显示出来,上图

不说二话的自家人的博客 1万+

Silverlight 4 + RIA Services之商业应用系列----9.1 MVVM+RIA Service

SourceCode:http://www.n-pei.com/download/SilverlightMVVM.rarpart1: 如何使用RIA Services part2: RIA Services更新和验证part3:RIA Services数据新增part4:皮肤的更改part5:报表的展示part6:Endpoint的设置part7:如何使用RIA S

我的博客新地址: http://www.n-pei.com 1万+

10分钟训练你的AI歌手:RVC WebUI声音克隆保姆级教程

本文提供了一份详细的RVC WebUI声音克隆保姆级教程,指导用户如何在10分钟内利用Retrieval-based-Voice-Conversion技术训练专属AI歌手。教程涵盖从环境配置、数据准备、模型训练到最终推理应用的全流程,即使是新手也能快速上手,实现高质量的声音克隆与歌曲生成。

weixin_29073241的博客 821

Silverlight 4 + RIA Services之商业应用系列----9.2 MVVM+RIA Service+CRUD

我在csdn以前写过的一系列文章,关于Silverlight4的。希望对Silverlight的新手有帮助。 代码下载: http://www.n-pei.com/download/SLVM_Product.rar  part1: 如何使用RIA Services part2: RIA Services更新和验证 part3:RIA Services数据新增 part4:皮肤的更改 ...

weixin_34259159的博客 94

074.多任务学习:在YOLO基础上同时进行分割、关键点检测

本文探讨了在YOLOv5模型中实现检测、分割和关键点多任务的技术方案。通过分层特征抽取策略(检测用深层、分割用浅深融合、关键点用中层)解决特征共享问题;采用不确定性加权方法自动平衡多任务损失;设计了支持三种标签的数据流处理方式;并分享了推理部署时的后处理技巧。实践表明,合理的多任务设计可以提升主任务性能,但需权衡标注成本和推理效率。最终方案选择在训练时引入分割作为辅助任务,推理时仅保留检测和关键点,实现了检测mAP提升2.3%的优化效果。

2603_95664987的博客 45

YOLOv8/v9 遥感图像目标检测实战指南:建筑物检测与变化监测

遥感图像在城市规划、灾害评估、农业监管等领域应用广泛,但传统目标检测方法存在效率低、精度不足、难以适配遥感图像大尺寸、多尺度目标等问题。本文以“建筑物检测与变化监测”为核心,基于DOTA、NWPU VHR-10等公开数据集,系统讲解YOLOv8/v9在遥感图像中的实战流程。从数据获取、格式转换、模型训练优化,到大图切片推理、建筑物变化监测,全程提供可复现的代码与参数配置。通过针对性优化(旋转增强、切片推理等),模型在NWPU VHR-10数据集上mAP50达0.85以上,可适配卫星影像、无人机航拍等多场景

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 520

Silverlight 4 + RIA Services之商业应用系列----9.2 MVVM+RIA Service+CUID

代码下载:http://www.n-pei.com/download/SLVM_Product.zip part1: 如何使用RIA Servicespart2: RIA Services更新和验证part3:RIA Servi

我的博客新地址: http://www.n-pei.com 8906

用 PERFORM ... ON COMMIT / ON ROLLBACK 把收尾工作做干净:从 SAP LUW 到 Update Task 的事务钩子实践

ABAP事务钩子机制解析 本文深入探讨SAP ABAP开发中的事务边界管理问题,重点分析PERFORM ... ON COMMIT/ROLLBACK机制: 事务分层:区分Database LUW(数据库提交)和SAP LUW(业务逻辑单元),后者通过COMMIT WORK触发多种收尾动作 钩子机制:PERFORM...ON COMMIT将子程序注册为事务结束回调,在提交/回滚时执行清理工作而非业务更新 执行顺序:钩子程序先于Update Task执行,仍保留当前会话内存上下文 现代实践:建议将FORM仅作为

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3997

RIA Services之商业应用----9.2 MVVM+RIA Service+CRUD

今天花了6个小时去试着把第二篇MVVm+RIA service的例子写出来。代码写的我都有点晕了,特别是页面的style我发现比我后台写代码还要花更多时间,看出来我是不会blend了,也不是搞设计的。  MVVM模式中使用RIA Service提供数据,说白了Model部分其实已经差不多自动生成很多了。你可以再加以改造就可以了,不需要花很大力气去写那么多model了。 这里我使用一个数据库表中

sam1012的专栏 629

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

微软XAML技术栈解析:WPF、Silverlight与Windows Phone开发实战

XAML作为微软生态的核心UI描述语言,通过声明式语法实现界面与逻辑的分离。其数据绑定机制基于依赖属性和通知接口,支持双向实时同步,大幅提升开发效率。在技术架构层面,MVVM模式通过ViewModel层解耦视图与业务逻辑,配合命令系统实现完整的交互闭环。WPF作为桌面端主力框架,凭借DirectX硬件加速能力,特别适合金融交易系统、工业设计软件等高性能可视化场景。Silverlight虽已停止更新,但其离线应用(OOB)模式和数据访问层设计仍具参考价值。现代开发可转向WinUI 3或Blazor等新技术栈,

weixin_30571465的博客 502

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

WPF 音视频四大核心方案对比

wav。

like_sunshine978的博客 286

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

WPF 新一代 MVVM 框架 CommunityToolkit.Mvvm 实战:ObservableObject + 源生成器(上篇)

上一篇手搓 MVVM 用的是 MvvmLight,可它已经了。微软官方现在主推的是(MVVM 工具包),API 和 MvvmLight 高度相似,还多了源生成器这种"编译期帮你写代码"的能力。这次 5WPF 文件夹里有三个工程加一份讲义,内容量不小,照例拆两篇:上篇讲,下篇讲。

2501_94699871的博客 253

从零搭建半导体设备上位机(五):三套 UI 库共存,HandyControl、MaterialDesign、Wu.Wpf 的样式基线

三套 UI 库共存:HandyControl、MaterialDesign、Wu.Wpf 的样式基线 这是「从零搭建半导体设备上位机」系列第5篇。一个 WPF 应用里同时装了 HandyControl、MaterialDesignThemes、Wu.Wpf 三套控件库。这篇讲它们为什么会打架、打架的具体机制是什么,以及怎么建立一套"谁也别想偷偷改我外观"的样式基线。 一个下拉框,白底白字 界面做完

samble的专栏 481

WPF(数据绑定)

本文系统阐述WPF数据绑定机制,涵盖DataContext继承性、四种绑定源(DataContext、Source、ElementName、RelativeSource)及Binding模式(TwoWay、OneWay等)。重点讲解UpdateSourceTrigger改变时机与INotifyPropertyChanged实现属性通知,介绍IValueConverter与IMultiValueConverter数据转换,以及ValidationRule验证规则的使用与自定义样式。通过实例展示绑定链路:用户输

m0_57547938的博客 256

wpf中的DialogcloseListener

DialogCloseListener的作用是:让对话框的ViewModel向Prism发出“请求关闭当前对话框”的通知,并且可以把结果和数据传回调用方。自己创建的默认值没有连接到 Prism 的关闭回调,调用它也不能正确关闭对话框。项目使用的是 Prism 9,这也是 Prism 9 中。它内部封装了关闭对话框所需的回调,通常只需要调用它的。需要保存时,先执行保存逻辑,再请求关闭。我的操作完成了,请关闭承载我的对话框。这是 Prism 提供的特殊框架机制。的前提下,点击这个按钮就会请求关闭。

like_sunshine978的博客 213

C# WPF 资源字典详解:ResourceDictionary、MergedDictionaries 与自定义控件案例

ResourceDictionary(资源字典)是一个独立的 XAML 文件,用来集中存放项目里通用的资源,比如样式、画笔、模板,需要的地方通过 x:Key 引用。打个比方:资源字典就像一个"公共仓库",样式是一件件打包好的工具,谁要用就来仓库领,不用每家每户自己造;仓库里的工具改了,所有领过的人拿到的都是最新版。下面把资源字典、控件模板、自定义控件串起来,做一个带圆角的自定义按钮。先定义一个继承 Button 的 ConnerButton,用DependencyProperty(依赖属性)

C#,机器视觉,上位机开发 402

C# WPF 变换与动画详解:RenderTransform 旋转缩放、TransformGroup 与 DispatcherTimer

本文详解WPF中RenderTransform的四种基本变换(旋转、缩放、平移、倾斜)及其组合使用,通过TransformGroup实现多效果叠加,并结合DispatcherTimer定时更新参数,实现动态动画。配合绑定机制,可轻松创建旋转、缩放等视觉效果,适合初学者快速上手。附常见问题与解决方案,助你避开陷阱,高效开发。

C#,机器视觉,上位机开发 219

# WPF ContextMenu 控件详解与使用—WPF 中的控件(8)--上下文菜单控件(ContextMenu)

`ContextMenu`(上下文菜单控件,右键快捷弹出)是 WPF 中最常用的弹出式交互控件之一,以浮层形式展示一组操作命令,用户右键点击关联控件时触发显示。它继承自 `MenuBase`(间接继承 `ItemsControl`),核心由 `MenuItem`(菜单项)和 `Separator`(分隔线)组成,支持嵌套子菜单、图标、复选、命令绑定、自定义样式等能力。

yunmaowu0917的博客 283

# WPF DataGrid 控件详解与使用(1)—WPF 中的控件(9)--数据网格控件(DataGrid)(1)

> DataGrid 是 WPF 中用于以**行/列表格形式展示和编辑数据**的核心控件,位于 `System.Windows.Controls` 命名空间。它天然支持**数据绑定、自动列生成、编辑、排序、分组、虚拟化**等能力,是 上位机应用软件(业务系统)开发中最常用的数据展示控件。 WPF 中DataGrid控件的编辑和格式化显示功能非常强大。涉及大量编辑数据,大量输入数据,数据库系统离不开DataGrid控件。这个主题会分成多篇文章。

yunmaowu0917的博客 164

WPF 依赖注入 + 信使实战:Autofac 构造函数注入 + WeakReferenceMessenger 跨窗口通信(下篇)

/ 在框架基础消息之上,也支持自定义消息类型// 在框架基础消息之上,也支持自定义消息类型 public class DataValueIsObject : ValueChangedMessage < Person > {// 自己扩展 } }// 自己扩展是框架内置的消息基类,"值发生变化"语义,Value属性就是携带的数据。这里传的是Person对象——消息可以携带任意引用类型,不必是字符串。View(XAML 绑定)

2501_94699871的博客 248

C# WPF 控件模板详解:ControlTemplate、ContentPresenter 与 TemplateBinding

本文详解WPF中ControlTemplate的使用,从基础概念入手,对比Style与ControlTemplate的区别,通过实例展示如何自定义按钮外观。重点讲解ContentPresenter内容呈现、TemplateBinding实现属性联动,并结合模板触发器实现悬停、按下等交互效果,附可运行代码,适合进阶开发者掌握控件外观定制技巧。

C#,机器视觉,上位机开发 405
上一篇: RIA Services之商业应用----8 url重写和友好页面的实现
下一篇: RIA Services之商业应用----9.2 MVVM+RIA Service+CRUD
sam1012
博客等级 码龄18年 17粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值