- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果术语关闭,请道歉;我是一名 iOS 开发人员,必须使用 Xamarin.iOS 来开发应用程序。我正在使用带有 DynamicData 和 MVVM 架构的 ReactiveUI。总的来说,我对 RxSwift 和 FRP 概念相当满意。我有一个发布 SourceList<MyThing>
的模型,根据文档,如下所示:
// Property declarations
private readonly SourceList<MyThing> Things;
public IObservableCollection<MyThing> ThingsBindable { get; }
// Later, in the constructor...
Things = new SourceList<MyThing>();
// Is this of the right type?
ThingsBindable = new ObservableCollectionExtended<MyThing>();
Things
.Connect()
.Bind(ThingsBindable)
.Subscribe();
.BindTo()
在我的 View (即 iOS 领域中的 ViewController)中获取 UITableView 以在模型更改时更新:
Model
.WhenAnyValue(model => model.ThingsBindable)
.BindTo<MyThing, MyThingTableViewCell>(
tableView,
new NSString("ThingCellIdentifier"),
46, // Cell height
cell => cell.Initialize());
SourceList<MyThing>
,或 this 的可绑定(bind)版本,以便 View 仅使用 ViewModel 属性。
SourceList
声明为
private
在文档中;我不确定这里的最佳实践:我是否将其公开并执行我的
Connect()
在 View 模型中?或者有没有办法把公开曝光的
IObservableCollection<MyThing> ThingsBindable
从 View 模型?我也不相信
ObservableCollectionExtended<MyThing>
是 Bindable 属性的正确类型,但它似乎有效。
.ToProperty()
的各种组合,
.Bind()
,
.Publish()
等等,并在 ViewModel 中制作 View-binding Observable 的一个版本无济于事,现在我只是将自动完成功能扔到墙上,看看有什么效果。任何方向表示赞赏。 TIA。
最佳答案
我认为这是初学者的误解。这就是我想要的工作方式;也许它会帮助其他 Xamarin.iOS/ReactiveUI/DynamicData 新手。
在我的模型中,我声明了两个私有(private) SourceList
和公开曝光的 IObservableList<MyThing>
:
private readonly SourceList<MyThing> _ModelThings;
public IObservableList<MyThing> ModelThings;
_ModelThings = new SourceList<MyThing>();
ModelThings = _Things.AsObservableList();
ObservableCollectionExtended<MyThing>
并将其绑定(bind)到模型的公共(public)属性:
public ObservableCollectionExtended<MyThing> ViewModelThings;
// Then, in the constructor:
ViewModelThings = new ObservableCollectionExtended<MyThing>();
model.ModelThings
.Connect()
.Bind(ViewModelThings)
.Subscribe();
ViewModel.ViewModelThings
,如问题。如果我想拥有另一个级别的模型,我可以简单地通过
Model.ModelThings
和
.Connect().Bind()
降低,正如格伦在评论中暗示的那样。
关于ios - 如何使用 ReactiveUI 和 DynamicData 链接 SourceList 观察?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55117343/
我的代码在下面,演示站点在这里:http://glimmer.rstudio.com/kdavenport/test1/ 第一个输入(下拉菜单)加载 global.R 中定义的数据框 第二个输入(下拉
我使用了一个可移植模板创建了一个 Xamarin 应用程序,并且我已经在可移植库和 Android 库中安装了响应式(Reactive) UI。但是,当我将应用程序部署到我的手机并导致触发 Raise
我有 WPF 列表框: 我喜欢使用后面的代码按名称绑定(bind) ListBox 的能力:this.OneWayBind(ViewModel, vm
我喜欢 ReactiveUI 的基于代码的绑定(bind)机制。但是,有时您需要使用 XAML 绑定(bind)。在这些情况下,需要在 View 和 ViewModel 之间正确设置 DataCont
在将我的项目中的 Xamarin Forms 包更新到 3.4.0.1009999 后,当使用 ReactiveUI x.DiscountSliderValue).Throttle(TimeSpan.
我正在测试 ReactiveUI,看起来很不错。 但是,我对 MessageBus 有点困惑。 示例代码: var bus = new MessageBus(); int result = -1; b
我无法在设计时在Visual Studio中使用ViewModelViewHost。这是设计使然还是我设置有误? 在我看来,我有: Locator.CurrentMutable.Initializ
我正在将 MvvmCross 与 ReactiveUI 进行比较,用于 Win Store、WP8、iOS、Droid 上的一个主要制药项目。我们已经选择了 Xamarin。 我对 ReactiveU
RX官方博客上有此example: var scheduler = new TestScheduler(); var xs = scheduler.CreateColdObservable(
ReactiveUI.Routing要求我们在Splat容器(Locator.CurrentMutable)中注册 View 。如果我未在Splat中注册,则无法正常工作。 如果我们正在使用其他一些I
所以,当我为我的系统开发新功能时,我也尝试做 TDD - 遗憾的是,现在对于旧功能来说代码太大了。 但是,我发现有时在测试过程中会遇到困难 - 特别是在使用 Delay 和 Throttle 时。 我
所以,当我为我的系统开发新功能时,我也尝试做 TDD - 遗憾的是,现在对于旧功能来说代码太大了。 但是,我发现有时在测试过程中会遇到困难 - 特别是在使用 Delay 和 Throttle 时。 我
我一直在研究在生产代码中使用响应式 UI 的可行性。有些功能确实很吸引人,但我担心依赖这个库。其中包括: 古怪的命名和约定。例如, protected 成员以小写字母开头,而 RaiseAndSetI
我正在将 WPF 应用程序移植到 Windows 应用商店应用程序。我有一些要放入可移植类库的 View 模型。该代码使用 reactui 框架。我创建了库,并使用 nuget 包管理器将 react
我通过 nuget 下载最新的 ReactiveUI (5.0.2) 到我基于 .NET 4.5 的项目。 我创建了具有一个属性的简单 View 模型类: using System; using Sy
在我使用 ReactiveUI 的 WPF 应用程序中,我注意到一个性能不佳的区域。 我有一个 View 模型,其中包含许多其他轻量级 View 模型(想想 30ish)。这些嵌套的 View 模型很
我有一个关于 reactiveui View 模型的问题。 我的 View 模型上有两个属性,月和年,并希望有一个进一步的输出属性 DateLabel,它将两者结合起来并很好地格式化,例如“2015
我查看了许多 ReactiveUI 示例,但我看不到一个很好的简单示例来说明如何处理异常,即应该向用户显示一条消息。 (如果有一个很好的例子,有人可以指点我吗?)。 我的第一个问题是如何使用 Reac
我有一个窗口使用 ReactiveUI Interaction 打开第二个窗口作为模态对话框,然后从第二个窗口中的 ListBox 返回数据。 问题是当 .ShowDialog() 完成时,ViewM
我有一个 WPF MVVM 应用程序。我的模型对象是我可以完全控制的 POCO。这些对象中的某些属性之间存在关系。 例如:假设我有 public class Model { public Ob
我是一名优秀的程序员,十分优秀!