gpt4 book ai didi

xamarin - 如何从 ContentView 中获取 ContentPage 的 BindingContext?

转载 作者:行者123 更新时间:2023-12-04 23:17:05 24 4
gpt4 key购买 nike

我有以下 Contentpage.content,我在其中设置了某些绑定(bind)上下文。

<StackLayout>
<local:Post />
<local:Comments />
</StackLayout>

在 Post.xaml.cs (ContentView) 中,我尝试以这种方式获取 ContentPage 的绑定(bind)上下文,但它不起作用。
BindingContext = (PostViewModel)Parent.BindingContext;

如果我站在 ContentView 中,如何获取 ContentPage 的绑定(bind)上下文?

最佳答案

当你的构造函数被调用时,BindingContext可能尚未初始化。

所以,你应该等待 BindingContext被更改以对其执行操作。

我认为答案是OnBindingContextChanged事件。
https://developer.xamarin.com/api/member/Xamarin.Forms.View.OnBindingContextChanged()

小样本:

        protected override void OnBindingContextChanged ()
{
base.OnBindingContextChanged ();

//BindingContext should not be null at this point
// and you may add your code here.
}

笔记:
如果您有 ContentViewContentPage 内,除非由另一个控件显式设置(例如在使用 ListView 的 ItemTemplate 时)或您的代码, BindingContext ContentView 的内容与 ContentPage 相同。

因此,不必调用“父级”。

让我知道是否需要更多说明。

关于xamarin - 如何从 ContentView 中获取 ContentPage 的 BindingContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37867863/

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