gpt4 book ai didi

c# - Mvvmlight 和 Xamarin 统一 API : Property not found

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:18:07 25 4
gpt4 key购买 nike

我在这里尝试使用 Laurent 提供的 iOS 统一 API 的 dll:

http://blog.galasoft.ch/posts/2015/01/porting-mvvmlight-to-the-xamarin-ios-unified-api-64-bits/#respond

还有一些问题。我不知道这是一个新错误还是我做错了什么。

1) 我尝试将 ViewModel 的属性绑定(bind)到 UI 的属性:

_binding = this.SetBinding(() => ViewModel.IsLoading, () => _myView.IsLoading);

myViewViewController.View 的自定义 subview .

但是在运行应用程序时,出现以下错误:

System.InvalidOperationException: Property not found: IsLoading

2) 由于第一个片段不起作用,我尝试了以下

_binding = this.SetBinding(() => ViewModel.IsLoading).WhenSourceChanges(
() => _myView.IsLoading = ViewModel.IsLoading);

它工作正常。但是当我对一个 List<T> 的属性做类似的事情时, 我收到了很多 WhenSourceChanges事件和 UI 更新太多次。这不是很理想。

如果我正在收听PropertyChanged来 self 的 ViewModel 的事件,我只得到列表的一个更新。因此,WM 似乎没有问题。

最佳答案

据我所知,这是一个反射问题。将字段 _myView 更改为属性应该可以解决此问题。例如:

private UIView MyView {
get {
return _myView;
}
}

然后像这样绑定(bind):

_binding = this.SetBinding(() => ViewModel.IsLoading, () => MyView.IsLoading);

您还可以使用一种不使用表达式的扩展方法来创建绑定(bind)。

关于c# - Mvvmlight 和 Xamarin 统一 API : Property not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28210124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com