Xamarin表单用于在内容页面和内容视图后面的代码中检测命名控件



我需要实现从ControlTemplate派生但具有在文件背后的代码中检测控件的控件。我需要了解它在内容页面/查看

中的工作方式

有一个称为XAMLG/UpdateDesignTimeXAML的MSBUILD任务生成的部分类,该类别具有您具有x:Name定义为Global namespace class类级变量的视图,从而生成可变代码的:

private global::Xamarin.Forms.Entry someEntryControl;

然后在该文件的InitializeComponent方法中,FindByName扩展名用于通过该变量的名称将实际的运行时实例分配给先前定义的变量:

someEntryControl = global::Xamarin.Forms.NameScopeExtensions.FindByName<global::Xamarin.Forms.Entry>(this, "someEntryControl");

如果您沿着XAML FindByName代码依赖关系的兔子孔沿着兔子孔进行下去,您会发现它基本上会执行该视图范围中所有可绑定的对象的迭代,直到找到匹配名称或返回null

最新更新