public void AddRoutesbyConvention(IMXConventionBasedController controller)
        {
            var controllerConvention = controller.Convention;

            // add default controller route
            if (controllerConvention.DefaultActionName != null)
            {
                var routeDescription = PatternGenerator.Generate(controllerConvention);
                NavigationMap.Add(routeDescription.Pattern, controller, routeDescription.DefaultParameters);
            }

            // add controller routes for each action
            foreach (var actionConvention in controllerConvention.ActionConventions)
            {
                // within each action, there can be multiple routes - e.g. when default parameter values are available.
                // we have to be very careful with default parameter values because:
                // - some people have experienced crashes in some MonoDroid builds near to default parameters
                // - Windows Phone 7 reflection does not supply access to default values (it supplies null instead)
                foreach (
                    var routeDescription in
                        new MXRouteDescriptionSet(PatternGenerator, controllerConvention, actionConvention))
                {
                    NavigationMap.Add(routeDescription.Pattern, controller, routeDescription.DefaultParameters);
                }
            }
        }
Пример #2
0
        public void AddRoutesbyConvention(IMXConventionBasedController controller)
        {
            var controllerConvention = controller.Convention;

            // add default controller route
            if (controllerConvention.DefaultActionName != null)
            {
                var routeDescription = PatternGenerator.Generate(controllerConvention);
                NavigationMap.Add(routeDescription.Pattern, controller, routeDescription.DefaultParameters);
            }

            // add controller routes for each action
            foreach (var actionConvention in controllerConvention.ActionConventions)
            {
                // within each action, there can be multiple routes - e.g. when default parameter values are available.
                // we have to be very careful with default parameter values because:
                // - some people have experienced crashes in some MonoDroid builds near to default parameters
                // - Windows Phone 7 reflection does not supply access to default values (it supplies null instead)
                foreach (
                    var routeDescription in
                    new MXRouteDescriptionSet(PatternGenerator, controllerConvention, actionConvention))
                {
                    NavigationMap.Add(routeDescription.Pattern, controller, routeDescription.DefaultParameters);
                }
            }
        }