我正在创建一些自定义的View元素:
public class ExtendableButtonList : StackLayout
{
public static readonly BindableProperty NewSlotNameProperty = BindableProperty.Create(
propertyName: "NewSlotName",
returnType: typeof(string),
declaringType: typeof(ExtendableButtonList),
defaultValue: default(string));
public string NewSlotName
{
get { return (string)GetValue(NewSlotNameProperty); }
set { SetValue(NewSlotNameProperty, value); }
}
public delegate void OnLoadHandler(ExtendableButtonList ebl);
public event OnLoadHandler OnLoadEvent;
public ExtendableButtonList (){
//not all properies are loaded at this point
}
[...]
}
我需要对通过XAML传递给此对象的属性执行一些操作。不幸的是,当调用ExtendableButtonList类的构造函数时,此时并不是所有的BindableProperties都被加载。它们会在稍后出现。
我如何知道此对象中何时加载了所有属性?何时调用OnLoadEvent让我的应用程序知道此对象已准备好进一步使用?
答案 0 :(得分:1)
在这种特殊情况下,您应该覆盖OnBindingContextChanged
来进行验证。
您可以看到here关于OnBindingContextChanged