我正在尝试在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,除非我遗漏了一些明显的东西?
答案 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>