首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

UWP - MVVM -计算的比例值更改时不更新的值

UWP (Universal Windows Platform) 是微软推出的一种应用程序开发框架,它允许开发人员使用通用的代码库创建适用于多种设备的应用程序,包括桌面、移动、Xbox、Surface Hub 等。UWP 提供了一种统一的开发模型,使开发人员能够轻松地构建跨平台的应用程序。

MVVM (Model-View-ViewModel) 是一种软件架构模式,用于将用户界面 (View)、业务逻辑 (ViewModel) 和数据模型 (Model) 分离。MVVM 的核心思想是通过数据绑定实现视图和视图模型之间的解耦,从而实现更好的代码可维护性和可测试性。

在 UWP 应用程序中,MVVM 可以帮助开发人员更好地组织代码,提高开发效率和代码质量。通过将界面逻辑与业务逻辑分离,MVVM 可以使开发人员更专注于业务逻辑的实现,同时也方便了界面的设计和修改。

当计算的比例值在 MVVM 模式中发生变化时,不会自动更新相关的值。这是因为 MVVM 模式中的数据绑定是单向的,默认情况下只会将 ViewModel 中的数据更新到 View 中,而不会将 View 中的数据反向更新到 ViewModel。如果希望在计算的比例值发生变化时更新其他相关的值,可以通过以下几种方式实现:

  1. 使用双向绑定:在数据绑定时,将绑定属性的 Mode 设置为 TwoWay,这样当 View 中的数据发生变化时,会自动更新到 ViewModel 中。例如,在 XAML 中可以使用以下代码实现双向绑定:
代码语言:txt
复制
<TextBox Text="{Binding ScaleValue, Mode=TwoWay}" />
  1. 手动更新:在计算的比例值发生变化时,手动更新其他相关的值。可以在 ViewModel 中添加一个方法,用于更新其他相关的值。例如:
代码语言:txt
复制
private double _scaleValue;
public double ScaleValue
{
    get { return _scaleValue; }
    set
    {
        _scaleValue = value;
        OnPropertyChanged(nameof(ScaleValue));
        UpdateOtherValues(); // 手动更新其他相关的值
    }
}
  1. 使用事件或消息机制:当计算的比例值发生变化时,通过事件或消息机制通知其他相关的组件或对象进行更新。可以使用第三方库如 Prism、MVVM Light 等来实现事件或消息的发布和订阅。

在 UWP 开发中,可以使用腾讯云的相关产品来支持应用程序的开发和部署。以下是一些推荐的腾讯云产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):提供可扩展的云服务器实例,用于部署和运行 UWP 应用程序。详情请参考:腾讯云云服务器
  • 腾讯云对象存储(COS):提供安全、稳定、低成本的对象存储服务,用于存储 UWP 应用程序中的文件和数据。详情请参考:腾讯云对象存储
  • 腾讯云数据库(TencentDB):提供高性能、可扩展的数据库服务,用于存储和管理 UWP 应用程序的数据。详情请参考:腾讯云数据库

请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求和项目要求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

数据库中计算更新方法

在做项目时,经常在项目中会遇到有些是通过其他表经过计算得来,然后将计算结果保存到数据库中。比如在一个休假系统中,一个员工每年已休天数就是一个计算,通过SUM员工所有有效休假申请单可获得。...1.基于现有的计算,在更新相关数据时加减该计算。 在需要计算数据量比较大情况下一般采用这种方法。...2.每次更新相关数据时,根据所有数据重新计算。 在计算量较小是使用这种方法。比如我们订单系统中,订单总金额就是汇总订单明细金额,如果删除了或者增加了订单明细,那么只需要重新汇总即可。...第二种方法在每次更新数据时重新计算,需要一定计算量,所以不能用于大数据量计算,优点是不用担心数据不一致问题,保证计算列是正确。 如果使用第一种方法,如何避免数据不一致呢。...一个常用方法是建立一个定时任务,在数据库闲时使用全量数据重新计算每天发生更改数据计算,然后用这个和数据库中该列进行比较,如果不相同,那么就通知管理员,人为清查数据不一致原因,将数据修复。

86820

New UWP Community Toolkit - RangeSelector

概述 前面 New UWP Community Toolkit 文章中,我们对 V2.2.0 版本重要更新做了简单回顾,其中简单介绍了 RangeSelector,本篇我们结合代码详细讲解一下 RangeSelector...先来看看类中依赖属性: Minimum - 控件允许选择范围最小,默认是 0.0,修改时触发 MinimumChangedCallback Maximum - 控件允许选择范围最大,默认是 1.0...,修改时触发 MaximumChangedCallback RangeMin - 控件实际选择范围最小,默认是 0.0,修改时触发 RangeMinChangedCallback RangeMax...rangeMin 和 rangeMax 两个滑块拖拽事件,我们还是只看 min 对应处理,max 处理类似: 根据当前滑块拖拽后位置,来修改实际范围最小计算方式就是根据允许范围区间,控件实际宽度...,以及当前位置距离最小距离,来计算比例; private void MinThumb_DragDelta(object sender, DragDeltaEventArgs e) { _absolutePosition

88470

.NET 基金会项目介绍-Humanizer

Humanizer 是属于 .Net 基金会一个项目,本文将简要介绍该项目相关信息。 中文介绍 中文介绍内容翻译自英文介绍,主要采用意译、如与原文存在出入,请以原文为准。...这个需求一种办法,就是在枚举上定义 DescriptionAttribute ,然后使用方法获取该以进行展示。 类似以上这种需求,实际上都是为了将计算机定义形式以人类容易理解方式进行展示。...这也就是该工具库所关注需求点。 正如简介所指,它能够解决多种类型展示问题,详细可以阅读项目文档进行了解。...Light Toolkit - 【客户端MVVM开发框架】 MvvmCross - 【客户端MVVM开发框架】 Nancy - 【Web开发框架】 .NET Core - 【Web开发框架】 Newtonsoft.Json...- 【UWP UI框架】 Umbraco - 【CMS框架】 UWP Community Toolkit - 【UWP 工具库】 WCF - 【跨进程通信框架】 Windows Phone Toolkit

75120

New UWP Community Toolkit - RadialGauge

概述 New UWP Community Toolkit  V2.2.0 版本发布日志中提到了 RadialGauge 调整,本篇我们结合代码详细讲解  RadialGauge 实现。...包含了下面三个控件部分 PART_Scale - 比例尺控件 PART_Trail - 仪表盘实际显示控件 Value and Unit - 实际文本和单位显示控件 <Style TargetType...: ① OnValueChanged(d) 在数值变化后,触发 OnValueChanged(d) 事件方法;首先根据设置取舍,矫正当前 Value,计算出对应角度;给仪表盘指针赋值,让指针指向当前角度...;然后是给显示当前区间弧形赋值,如果当前角度为 360,则整个填充仪表盘,否则根据角度计算出填充区域,给 ArcSegment,PathFigure,PathGeometry 赋值;最后给仪表盘数值文本控件赋值...(point) 方法中: 首先计算出当前点击或触摸点相对比仪表盘圆心坐标,根据坐标计算出角度;再根据最大角度和最小角度计算出可变化实际区间;最后用当前角度与最小角度差值,与实际区间做一个比例换算

981150

win10 uwp 依赖属性

本文告诉大家如何使用依赖属性,包括在 UWP 和 WPF 如何使用。 本文不会告诉大家依赖属性好处,只是简单告诉大家如何使用。...本文最后提供修改代码片,可以解决变量名修改出现界面绑定刷新。...UWP 什么时候可以获取继承依赖属性 依赖属性一般是不在构造函数写获取继承属性,因为一般这时拿到都是没有继承,请看下面的代码 创建一个用户控件 LuenqxuhkRrjbzcf ,在他构造函数和加载完成事件添加获得...那么是在什么时候才可以拿到依赖属性? 依赖属性需要在加逻辑树才可以拿到,所以在加入逻辑树之后,构造函数是类创建,所以这时不能拿依赖属性。...WPF 获得依赖属性值更新 如果需要获得 G Padding 值更改,WPF 获得依赖属性 值更改可以使用下面代码 DependencyPropertyDescriptor.FromProperty

81120

.NET 基金会项目介绍-ReactiveUI

我们相信,尽管代码运行在计算机上,但代码就是人与人之间沟通。如果您代码为他人阅读进行过优化,那么时间久了之后,您项目将会更好。软件应该容易被他人阅读,这是非常重要。...没错,确实有更好办法! 很久以前,当计算机编程刚刚出现时候,计算机程序不得不完全采用手动方式编写。如果技术员按照正确顺序输入了正确机器指令,那么程序结果将会正确地符合业务场景。...想要告诉计算机如何进行操作,这本身就是容易出错,并且这非常依赖于无懈可击程序员。但直接将“这个操作是什么”告知计算机,然后等待结果产出,无需关心计算机如何处理,岂不美哉?...这里有三个单元格, A, B, 和 C C 为 A 与 B 相加和 无论 A 和 B 如何变化, C 都会自动更新自己数值 这就是反应式编程:输入改动会自动在系统中传递。...- 【UWP UI框架】 Umbraco - 【CMS框架】 UWP Community Toolkit - 【UWP 工具库】 WCF - 【跨进程通信框架】 Windows Phone Toolkit

2K00

.NET 基金会项目介绍-NUnit Test Framework

NUnit Test Framework 是属于 .Net 基金会一个项目,本文将简要介绍该项目相关信息。 中文介绍 中文介绍内容翻译自英文介绍,主要采用意译、如与原文存在出入,请以原文为准。...NUnit 3 则由 Charlie Poole, Rob Prouse 不计其数社区贡献者共同开发,并持续跟进。...参与讨论 笔者简评 Nunit 作为老牌单元测试框架确实足以满足几乎所有的单元测试相关测试。很多基于之上开发 BDD 框架等等也层出穷。经久不衰就是优秀框架最好证明。...Light Toolkit - 【客户端MVVM开发框架】 MvvmCross - 【客户端MVVM开发框架】 Nancy - 【Web开发框架】 .NET Core - 【Web开发框架】 Newtonsoft.Json...- 【UWP UI框架】 Umbraco - 【CMS框架】 UWP Community Toolkit - 【UWP 工具库】 WCF - 【跨进程通信框架】 Windows Phone Toolkit

92100

如何在 UWP 使用 wpf Trigger 安装 Behaviors以前代码UWP 使用 Trigger

本文需要告诉大家,如何使用 Behaviors 做出 WPF Trigger ,需要知道 UWP 不支持 WPF Trigger 。...,需要先添加命名空间和寻找一张图片,因为图片使用是Assets/动漫.jpg ,所以需要把他修改为你图片所在,如何写参见win10 uwp 访问解决方案文件 命名空间 xmlns:Interactivity...按钮无法使用时图片 ? 请使用 DataTriggerBehavior Binding 连到需要修改属性,在 Value 判断他。...然后可以在得到判断,修改透明 可以看到使用方法和动画一样 如果使用 MVVM 的话,可以把透明绑到一个属性,通过返回来设置,如果按钮有 IsMyButtonEnabled 那么可以使用下面的代码绑定透明...1.0 : 0.5; 参见:Trigger element (XAML) is not supported in a UWP project ---- 本文会经常更新,请阅读原文:

2.2K00

.NET 基金会项目介绍-Orleans

Orleans Orleans 为开发分布式、可伸缩计算型应用程序提供了明显方案,开发者无需学习如何进行复杂并发处理以及其他伸缩性相关软件模式。...但不仅限于此,其中也为实现应用伸缩性和云场景设计了很多优秀特性。...Light Toolkit - 【客户端MVVM开发框架】 MvvmCross - 【客户端MVVM开发框架】 Nancy - 【Web开发框架】 .NET Core - 【Web开发框架】 Newtonsoft.Json...NET - 【SDK】 SourceLink - 【源码调试支持】 Steeltoe - 【微服务框架】 System.Drawing Mono - 【2D绘图工具库】 Telerik UI for UWP...- 【UWP UI框架】 Umbraco - 【CMS框架】 UWP Community Toolkit - 【UWP 工具库】 WCF - 【跨进程通信框架】 Windows Phone Toolkit

56030

.NET 基金会项目介绍-IdentityManager

因此,非常建议在生产环境使用。而且通常是不需要用到它。 “内建于 Visual Studio 中 ASP.NET 网站管理工具” 想必用户国内开发者并不多。...Light Toolkit - 【客户端MVVM开发框架】 MvvmCross - 【客户端MVVM开发框架】 Nancy - 【Web开发框架】 .NET Core - 【Web开发框架】 Newtonsoft.Json...NET - 【SDK】 SourceLink - 【源码调试支持】 Steeltoe - 【微服务框架】 System.Drawing Mono - 【2D绘图工具库】 Telerik UI for UWP...- 【UWP UI框架】 Umbraco - 【CMS框架】 UWP Community Toolkit - 【UWP 工具库】 WCF - 【跨进程通信框架】 Windows Phone Toolkit...- 【WP 工具库】 Windows Template Studio - 【UWP 项目模板】 Windows Forms - 【客户端开发框架】 WiX Toolset - 【安装包制作框架】 WorldWide

60410

.NET 基金会项目介绍-AutoMapper

AutoMapper AutoMapper 是一款基于约定从对象到对象映射器。它用于解决对象间进行赋值时编写和测试枯燥乏味代码。...软件开发不变便是变化,原生办法并不是不好写,而是改起来困难,特别需要进行字段改动和特殊功能时候,此时,使用 AutoMapper 这样类库可以省下不少麻烦。...但是也千万不要忽略研究 AutoMapper 提供高级特性:对象扁平化、工厂、Ioc集成、映射启动时检查等等,利用好这些高级特性,也能减少不少代码量。...Light Toolkit - 【客户端MVVM开发框架】 MvvmCross - 【客户端MVVM开发框架】 Nancy - 【Web开发框架】 .NET Core - 【Web开发框架】 Newtonsoft.Json...- 【UWP UI框架】 Umbraco - 【CMS框架】 UWP Community Toolkit - 【UWP 工具库】 WCF - 【跨进程通信框架】 Windows Phone Toolkit

57910

.NET 基金会项目介绍-ML.NET

ML.NET 使得 .Net 开发人员能够开发自己机器学习模型,并将这些模型应用于他们应用程序,尽管先前开发者在之前没有机器学习经验以及训练模型经验。所有这些都可以采用 .Net 来实现。...而为了弥补空白,微软开源 ML.NET 框架为 .Net 开发人员也带来了非常方便机器学习框架。 ML.NET 目前已经支持有二进制分类、多种类分类、推荐、异常检测、评分和计算机视觉方面的应用。...正如官网给出了例子一样,简单五步就可以让.Net开发者迈入机器学习大门。 不过实际上各位也都知道,微软框架向来以低入门易用性著称。真正要体系化学习机器学习,还需要对理论知识方面有所了解。...Light Toolkit - 【客户端MVVM开发框架】 MvvmCross - 【客户端MVVM开发框架】 Nancy - 【Web开发框架】 .NET Core - 【Web开发框架】 Newtonsoft.Json...- 【UWP UI框架】 Umbraco - 【CMS框架】 UWP Community Toolkit - 【UWP 工具库】 WCF - 【跨进程通信框架】 Windows Phone Toolkit

68610

dotnet 从入门到放弃 500 篇文章合集

MVVM 轻量框架 win10 uwp MVVM入门 win10 uwp ping win10 uwp release 因为 Entry Point Not Found 无法启动 win10 UWP...win10-uwp-应用转后台清理内存 win10-uwp-弹起键盘隐藏界面元素 win10-uwp-快捷键 win10-uwp-截图-获取屏幕显示界面保存图片 win10-uwp-打包第三方字体到应用...鼠标放开 win10-uwp-获得焦点改变 win10-uwp-访问解决方案文件 win10-uwp-车表盘-径向规 win10-uwp-随着数字变化颜色控件 win10-uwp-隐私声明 win10...上传代码 CodePlex 为何 987654321 123456789 是 8.0000000729 为何使用 DirectComposition 产品经理——做一个自己系统 从以前项目格式迁移到...创建不带BOM UTF8 博客 图论 Warshall 和Floyd 矩阵传递闭包 在 windows 安装 Jekyll 域名 大文件存储和备份 如何使用 C# 爬虫获得专栏博客更新排行 如何使用

10.4K20
领券