Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ItemsSource在自定义绑定水平滚动视图的构造函数中为空_C#_Android_Mvvmcross - Fatal编程技术网

C# ItemsSource在自定义绑定水平滚动视图的构造函数中为空

C# ItemsSource在自定义绑定水平滚动视图的构造函数中为空,c#,android,mvvmcross,C#,Android,Mvvmcross,我无法将Cheesebarons水平列表视图更新为新的v3 MvvmCross。除了在我的“BindableHorizontalListView”控件的构造函数中,适配器的ItemsSource为null外,其他一切似乎都正常工作。这很奇怪,因为上下文显示我试图绑定到的视图模型属性非常清楚地显示有3个项,并且绑定看起来非常简单。我错过了什么?我希望我已经包含了足够的代码。我还尝试通过“OnViewModelSet”事件上的fluent绑定来绑定它,结果相同 警告 [MvxBind] 24.87

我无法将Cheesebarons水平列表视图更新为新的v3 MvvmCross。除了在我的“BindableHorizontalListView”控件的构造函数中,适配器的ItemsSource为null外,其他一切似乎都正常工作。这很奇怪,因为上下文显示我试图绑定到的视图模型属性非常清楚地显示有3个项,并且绑定看起来非常简单。我错过了什么?我希望我已经包含了足够的代码。我还尝试通过“OnViewModelSet”事件上的fluent绑定来绑定它,结果相同

警告

[MvxBind]  24.87 Unable to bind: source property source not found Cirrious.MvvmCross.Binding.Parse.PropertyPath.PropertyTokens.MvxPropertyNamePropertyToken on DeviceViewModel
AXML

ViewModel上的属性

private Services.Device[] _devicesList;
public Services.Device[] DevicesList {
    get {
        return _devicesList;
    }
    set {
        _devicesList = value;
        RaisePropertyChanged(() => DevicesList);
    }
}

如果XAMStudio中有PCL支持,我就可以进来看看其他控件是如何做到的

ItemsSource在构造函数中始终为空-它是通过绑定设置的属性,并且该属性只能在构造函数完成后设置

信息:

[MvxBind]  24.87 Unable to bind: source property source not found Cirrious.MvvmCross.Binding.Parse.PropertyPath.PropertyTokens.MvxPropertyNamePropertyToken on DeviceViewModel
包含一个bug-已修复-因此该消息在将来应该更具可读性


如果bug没有出现,我怀疑消息会说问题出在
DevicesList
-绑定找不到该属性。它在那里吗?它是否有一个
get
?它是公共的吗?

谢谢你的帮助!在问题中添加了DeviceList代码,对我来说也很简单,但我对所有这些MVVM魔法都是新手。这不是“魔法”——这是代码和正常的开发。我建议你先尝试使用普通列表——只需切换、重新构建所有列表并使用标准列表,然后切换到水平列表并进行调试。我已经绑定了大量列表,刚刚在iPhone上编写了相同的应用程序。我肯定这是一个愚蠢的错误,当我发现它时,我会让全世界知道。谢谢你的帮助。很高兴了解这个bug,如果我能自己在Xam.Studio上构建mvvmCross PCL就好了。我听从了你的建议,它正确地绑定到了listview。。。事实证明,绑定根本不是问题所在。进入控件列表填充代码现在我看到listViewItems在那里。。。由于某些原因,视图无法显示,待定。再次感谢
[Activity (Label = "Device", ScreenOrientation = ScreenOrientation.Portrait)]
public class DeviceView : MvxActivity
{

    protected override void OnCreate (Bundle bundle)
    {
        base.OnCreate (bundle);
        SetContentView(Resource.Layout.device);
    }

}
private Services.Device[] _devicesList;
public Services.Device[] DevicesList {
    get {
        return _devicesList;
    }
    set {
        _devicesList = value;
        RaisePropertyChanged(() => DevicesList);
    }
}
[MvxBind]  24.87 Unable to bind: source property source not found Cirrious.MvvmCross.Binding.Parse.PropertyPath.PropertyTokens.MvxPropertyNamePropertyToken on DeviceViewModel