gpt4 book ai didi

xaml - Xamarin TabbedPages MVVM 绑定(bind)

转载 作者:行者123 更新时间:2023-12-02 07:20:22 25 4
gpt4 key购买 nike

如何绑定(bind)不同 View 模型的标签页?为了更清楚,我有这个标签页:

<TabbedPage.Children>     
<tabPages:Page1/>
<tabPages:Page2/>
<tabPages:Page3/>
</TabbedPage.Children>

这 3 个页面有不同的 View 模型。但是,问题是每个页面的 View 模型都不会绑定(bind)。有没有特定的方法可以做到这一点?

为了测试每个页面的 View 模型是否有效,我在标签页中内联了代码:例如

<TabbedPage.Children>
<ContentPage Title="Test">
<Label Text="{Binding TestBind}"/>
</ContentPage>
</TabbedPage.Children>

并将其绑定(bind)到选项卡式页面(父级)的 View 模型 - 此方法有效。但是,如果我单独进行, View 模型将不会绑定(bind)。例如

public class Page1ViewModel : BaseViewModel
{
public Page1ViewModel()
{
TestBind = "Test";
}
private string _TestBind;
public string TestBind
{
get { return _TestBind; }
set { SetProperty(ref _TestBind, value); }
}
}

这样使用,不会绑定(bind)

最佳答案

我已经成功了,所以这就是我所做的:

  <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>

我使用元素的绑定(bind)上下文属性来设置它。

关于xaml - Xamarin TabbedPages MVVM 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47669539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com