如何将选项卡式页面与不同的视图模型绑定?为了更加清楚,我有以下标签页:
<TabbedPage.Children>
<tabPages:Page1/>
<tabPages:Page2/>
<tabPages:Page3/>
</TabbedPage.Children>
这3个页面具有不同的视图模型。但是,问题在于每个页面的视图模型都不会绑定。有没有特定的方法可以做到这一点?
为了测试每个页面的视图模型是否正常工作,我在选项卡式页面中内联了代码:
<TabbedPage.Children>
<ContentPage Title="Test">
<Label Text="{Binding TestBind}"/>
</ContentPage>
</TabbedPage.Children>
并将其绑定到选项卡式页面(父级)的视图模型-此方法有效。但是,如果我单独进行操作,则视图模型将不会绑定。例如
public class Page1ViewModel : BaseViewModel
{
public Page1ViewModel()
{
TestBind = "Test";
}
private string _TestBind;
public string TestBind
{
get { return _TestBind; }
set { SetProperty(ref _TestBind, value); }
}
}
用这种方式,它不会绑定
我已经做到了,所以这就是我所做的:
<TabbedPage.Children>
<views:ChildPage1>
<views:ChildPage1.BindingContext>
<viewModels:ChildPage1ViewModel/>
</views:ChildPage1.BindingContext>
</views:ChildPage1>
<views:ChildPage2>
<views:ChildPage2.BindingContext>
<viewModels:ChildPage2ViewModel/>
</views:ChildPage2.BindingContext>
</views:ChildPage2>
</TabbedPage.Children>
我使用元素的绑定上下文属性进行设置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句