首页
学习
活动
专区
圈层
工具
发布

.NET 基金会项目介绍 - ReactiveUI

ReactiveUI ReactiveUI 是一个可用于所有 .Net 平台的可组合的 MVVM 框架,它受启发于 “反应式编程”。“反应式编程” 是一种编程范式。...通过它,您可以通过高可读性的方式和抽象的可变状态来表达您的产品特性,而这些不强关联与用户界面,因而提高应用程序的可测性。 本项目是非常流行的 ReactiveCocoa 框架的父级项目。...初见反应式编程可能会觉得可怕而复杂,不过,这有一个好办法,理解反应式编程的最好方式是借助一个电子表格: 这里有三个单元格,A, B, 和 C C 为 A 与 B 相加的和 无论 A 和 B 如何变化,...理解的着重在于 “命令式” 和” 定义式” 的却别。就例如 SQL 是一种定义式的编程方式,其没有告诉计算机如何循环,只需要定义需要获取的内容即可。...更加深入的内容,可以了解核心项目:Reactive Extensions for .NET 英文介绍 ReactiveUI ReactiveUI is a composable, cross-platform

77430
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    .NET 基金会项目介绍-ReactiveUI

    ReactiveUI ReactiveUI 是一个可用于所有 .Net 平台的可组合的 MVVM 框架,它受启发于“反应式编程”。“反应式编程”是一种编程范式。...通过它,您可以通过高可读性的方式和抽象的可变状态来表达您的产品特性,而这些不强关联与用户界面,因而提高应用程序的可测性。 本项目是非常流行的 ReactiveCocoa 框架的父级项目。...这里有三个单元格, A, B, 和 C C 为 A 与 B 相加的和 无论 A 和 B 如何变化, C 都会自动的更新自己的数值 这就是反应式编程:输入的改动会自动的在系统中传递。...理解的着重在于“命令式”和”定义式”的却别。就例如 SQL 是一种定义式的编程方式,其没有告诉计算机如何循环,只需要定义需要获取的内容即可。...更加深入的内容,可以了解核心项目: Reactive Extensions for .NET 英文介绍 ReactiveUI ReactiveUI is a composable, cross-platform

    2.5K00

    WPF依赖属性的正确学习方法

    那些[讨厌]的依赖属性的讲解文章 初学者肯定会面临一件事,就是百度,谷歌,或者MSDN来查看依赖属性的定义和使用,而这些文章虽然都写的很好,但,那是相对于已经学会使用依赖属性的朋友而言。...现在我们来拆分依赖属性,首先拆分他的定义,将依赖和属性拆分。 我们先看属性,如下,我们定义了一个属性。...bool)GetValue(IsSpinningProperty); } set { SetValue(IsSpinningProperty, value); } } 这里我们看到了,在给属性赋值和取值时...,用到了GetValue和SetValue,他们俩是哪来的呢?...很简单,我们跟进一下Window的父类,发现最后的父类Visual继承了DependencyProperty,所以我们可以直接使用GetValue和SetValue来赋值和获取依赖对象的值。

    2.5K10

    基于Cairngorm的Silverlight开发 - part3

    使用ModelLocator来管理视图 之前只是简单的介绍了一下ModelLocator的用法,在这里要把模型和视图结合起来,通过模型来来控制视图。...这里提到了创建用户控件,所以就不得不提一下控件的DependencyProperty属性,他是控件的一个静态的属性,主要用来做数据绑定。...为控件创建DependencyProperty属性 创建了DependencyProperty后能更方便的和ModelLocator进行绑定。处理一些界面上的动画效果也能更加的灵活。...这里给出一个标准的代码 // Using a DependencyProperty as the backing store for TheName.           // This enables... animation, styling, binding, etc         public static readonly DependencyProperty TheNameProperty =

    82160

    一站式WPF--依赖属性(DependencyProperty)一

    单看描述,云里雾里的,了解一个知识,首先要知道它产生的背景和为什么要有它,那么WPF引入依赖属性是为了解决什么问题呢?...当然,为了保证在Map中键值唯一,注册时需要根据传入的名字和注册类的的HashCode取异或来生成Key。这里最关键的就是最后一个参数,设置了这个DP的默认值。   ...首先使用DependencyProperty.Register方法注册了一个新的DP(NameProperty),然后提供了GetValue和SetValue两个方法来操作DP。...这个DP中,通过GetValue和SetValue来完成属性的赋值取值操作。   ...这篇文章主要是简略的实现了一个从属性到依赖属性的发展过程,当然,具体和WPF的实现还有偏差,希望朋友们都能抓住这个主要的脉络,更好的去玩转它。

    1.1K30

    win10 uwp 气泡 WPF 气泡

    可以看到,气泡就是一个和 Grid 差不多的东西,只是有边框,边框是一个气泡 ? ? 如何去写一个外框? 可以新建一个类,继承 Decorator ,就可以啦 现在的难点是如何获得子元素的大小。...可以看到一个气泡是尖的气泡和一个矩形组成 我做了一些修改,先做一个像这样的气泡 ? 气泡分为两部分,一个是尖头一个矩形 ?...需要知道, WPF 使用的布局不是和以前课本说的一样 但是除了尖头,还需要添加矩形的距离 ? 添加的距离是矩形宽度的一半减去5,看到这里一般不会觉得有困难。...5, 100, 50) , 0, 0) 但是如何直接把两个显示,看起来是不对的,因为是一个矩形和三角...Background, pen, cg); } BorderBrush 也是自己设置的 ,BorderThickness 也是,于是继续设置背景色 Background 和其它的如圆角

    1.8K10

    【译】为什么命名“它”为依赖属性(DependencyProperty)

    当我们创建新的类和成员时,我们花费了大量的时间和精力是它们尽可能的好用,好理解,好发现。通常我们会遵循.Net框架设计指南,尤其是会不断地研究这个新类与其他类,未来计划等内容之间的关系。...当命名依赖属性(DependencyProperty)和依赖对象(DependencyObject)的时候也是遵循这个原则,仅仅讨论如何命名,我们就大概花了几个小时。...依赖属性(DPs)最终归结为属性计算和依赖的跟踪。属性计算并不是很特别,很多属性都是这样的,所以DP的本质特征就是依赖的跟踪,因此命名为依赖属性。...例如,这里有一个名为Foo的依赖属性和一个名为FooPlus1的只读依赖属性。FooPlus1只是有一个计算“Foo+1”的CoerceValueCallback。...This enables animation, styling, binding, etc... public static readonly DependencyProperty FooProperty

    48720

    附加属性2:实现一个Canvas

    附加属性实践:自定义Canvas 附加属性在UWP中是一个十分重要的组成部分,很多功能都依赖于附加属性实现,典型的例子是常用的Grid和Canvas。...5.1 插入属性 这里实现的MyCanvas继承自Panel,是一个十分简单的类(作为示例并没有十分严格的验证等代码,所以只有几十行代码),它实现了和Canvas类似的布局并且提供了Left和Right...MyCanvas读取子元素的定位信息MyCanvas.Left和MyCanvas.Top后对其进行定位,子元素自身并没有这两个属性,只有通过附加属性插入。.../// public static readonly DependencyProperty LeftProperty = DependencyProperty.RegisterAttached.../// public static readonly DependencyProperty TopProperty = DependencyProperty.RegisterAttached

    68140

    dotnet 读 WPF 源代码笔记 提升调试效率的 NamedObject 类型

    在框架层传输一个空的对象无疑会让开发者在调试时感觉到无从下手,原因其实和空异常差不多。...,在 DependencyProperty 里面,如果咱有某个未定义的依赖属性,或者说在绑定或属性转换器里面失败时返回一个未定义的属性时,按照最佳实践,咱应该返回 DependencyProperty...假定咱的 DependencyProperty 的 UnsetValue 属性采用空 object 对象,那么意味着调试时需要通过 VisualStudio 的创建对象 Id 的功能,通过给 DependencyProperty...如果可以的话,再给这个确切的定义类型附加一句用来辅助调试的话,如 "DependencyProperty.UnsetValue" 这个字符串。...这样可以方便在框架层进行调试时,了解传输的对象的创建者,以及开发者的意图 当前的 WPF 在 https://github.com/dotnet/wpf 完全开源,使用友好的 MIT 协议,意味着允许任何人任何组织和企业任意处置

    72410
    领券