public void Bind(IViewModel model) { if (m_Disposed) { return; } m_ViewModels.Add(model); using (var scope = ViewUtil.UseBindingPropertyListStack()) { foreach (var prop in model.Property.GetAll(scope.List)) { Bind(prop.Path, prop); } } model.Property.OnNewProperty += Bind; }