Xamarin.forms Caliburn微量Xamarin形成结合密码子

Xamarin.forms Caliburn微量Xamarin形成结合密码子,xamarin.forms,caliburn.micro,Xamarin.forms,Caliburn.micro,我在PCL Xamarin表单中使用Caliburn.Micro.Xamarin.Forms MVVM框架。 我不知道如何从xaml.cs后面的代码中的视图绑定viewModel 例子: 在XAML中: <Label Text={Binding Username}/> 有人能帮我吗?虽然这些东西在谷歌上很容易找到,但我会为你展示 首先创建标签,然后绑定文本属性。 因此,请使用如下代码: var label=新标签(); label.SetBinding(label.TextProp

我在PCL Xamarin表单中使用Caliburn.Micro.Xamarin.Forms MVVM框架。 我不知道如何从xaml.cs后面的代码中的视图绑定viewModel

例子: 在XAML中:

<Label Text={Binding Username}/>

有人能帮我吗?

虽然这些东西在谷歌上很容易找到,但我会为你展示

首先创建
标签
,然后绑定
文本
属性。 因此,请使用如下代码:

var label=新标签();
label.SetBinding(label.TextProperty,新绑定(“PropertyOnYourViewModel”);

如果你有C#6的功能,也可以摆脱讨厌的魔法字符串,这样做:

var label=新标签();
label.SetBinding(label.TextProperty,新绑定(nameof(PropertyOnYourViewModel));

它可以工作,但我在绑定列表时遇到了一个问题,因为我无法迭代listitems,如何才能做到这一点?我的代码:
var list=new ListView();列表.设置绑定(ListView.ItemsSource,新绑定(“房屋”);foreach(列表中的var house){}
Houses在我的ViewModel中不是空的,但是我不能迭代如果您设置了
ItemsSource
您不必迭代它。在您的
列表视图上设置
ItemTemplate
我必须这样做:
foreach(var house in house){cardstack.Children.Add(new CardView(house));}
cardstack是一个堆栈布局,CardView是一个ContentView。因此,我将我的房子绑定到一个listview中,以便有可能对它们进行迭代,但我知道这不是一个好的解决方案,也不起作用。我不知道该怎么做
Label= new Label{
 Text= ....?
};