中的工作方式
我需要实现从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
。