在Xamarin Forms中,为什么我的标签的文本绑定在iOS中的StackLayout中断?

时间:2018-05-15 13:38:08

标签: xamarin.forms xamarin.ios

我正在尝试在StackLayout中添加标签,但是一旦我这样做,文本绑定就会停止工作并且整个控件都不会显示(我知道因为它在工作时有红色背景)。 / p>

<StackLayout Grid.Row="0" Orientation="Horizontal">
    <Label Text="{Binding MyObject.MyObjectsStringProperty}" HorizontalOptions="StartAndExpand" FontSize="12" Style="{StaticResource LabelStyle}" BackgroundColor="Red" />
    <Other control with working binding/>
</StackLayout>

为什么Text="{Binding Object.ObjectStringProperty}"不起作用?我只是在iOS中看到这种行为,而不是Android,所以我认为它可能是一个bug,除非我遗漏了一些明显的东西?

1 个答案:

答案 0 :(得分:0)

所以我无法真正理解你是如何实现它的,但这就是它主要完成和完成的方式。

您需要先向BindingContext建立一个Page。使用MVVM,每个页面都拥有自己的ViewModel。 ViewModel具有可以通过Binding tecnhiques在XAML代码中引用的Properties。

public MyPage {
    BindingContext = new MyPageViewModel();
}

public class PageViewModel {

    public ObjectStringProperty = "Example";
}

<StackLayout Grid.Row="0" Orientation="Horizontal">
    <Label Text="{Binding ObjectStringProperty}" HorizontalOptions="StartAndExpand" FontSize="12" Style="{StaticResource LabelStyle}" BackgroundColor="Red" />
    <Other control with working binding/>
</StackLayout>