diff --git a/src/Forms/Prism.Forms/Navigation/INavigationServiceExtensions.cs b/src/Forms/Prism.Forms/Navigation/INavigationServiceExtensions.cs index 547c67fdf4..bb07b0fe66 100644 --- a/src/Forms/Prism.Forms/Navigation/INavigationServiceExtensions.cs +++ b/src/Forms/Prism.Forms/Navigation/INavigationServiceExtensions.cs @@ -13,6 +13,7 @@ public static class INavigationServiceExtensions /// /// Navigates to the most recent entry in the back navigation history by popping the calling Page off the navigation stack. /// + /// Service for handling navigation between views /// The navigation parameters /// If true uses PopModalAsync, if false uses PopAsync /// If true the transition is animated, if false there is no animation on transition. @@ -37,6 +38,7 @@ public static Task GoBackToRootAsync(this INavigationService /// /// Initiates navigation to the target specified by the . /// + /// Service for handling navigation between views /// The name of the target to navigate to. /// The navigation parameters /// If true uses PushModalAsync, if false uses PushAsync @@ -50,6 +52,7 @@ public static Task NavigateAsync(this INavigationService navi /// /// Initiates navigation to the target specified by the . /// + /// Service for handling navigation between views /// The Uri to navigate to /// The navigation parameters /// If true uses PopModalAsync, if false uses PopAsync @@ -87,6 +90,7 @@ public static string GetNavigationUriPath(this INavigationService navigationServ /// /// Navigates to the most recent entry in the back navigation history by popping the calling Page off the navigation stack. /// + /// Service for handling navigation between views /// The navigation parameters /// indicating whether the request was successful or if there was an encountered . public static Task GoBackAsync(this INavigationService navigationService, params (string Key, object Value)[] parameters) @@ -97,6 +101,7 @@ public static Task GoBackAsync(this INavigationService naviga /// /// Initiates navigation to the target specified by the . /// + /// Service for handling navigation between views /// The Uri to navigate to /// The navigation parameters /// indicating whether the request was successful or if there was an encountered . @@ -112,6 +117,7 @@ public static Task NavigateAsync(this INavigationService navi /// /// Initiates navigation to the target specified by the . /// + /// Service for handling navigation between views /// The Uri to navigate to /// The navigation parameters /// indicating whether the request was successful or if there was an encountered . diff --git a/src/Forms/Prism.Forms/Navigation/PageNavigationService.cs b/src/Forms/Prism.Forms/Navigation/PageNavigationService.cs index d1cc565f09..9ad8ab8d73 100644 --- a/src/Forms/Prism.Forms/Navigation/PageNavigationService.cs +++ b/src/Forms/Prism.Forms/Navigation/PageNavigationService.cs @@ -173,7 +173,6 @@ Task IPlatformNavigationService.GoBackToRootAsync(INavigation /// /// When navigating inside a NavigationPage: Pops all but the root Page off the navigation stack /// - /// The INavigatinService instance /// The navigation parameters /// Only works when called from a View within a NavigationPage protected async virtual Task GoBackToRootInternal(INavigationParameters parameters) diff --git a/src/Forms/Prism.Forms/Navigation/TabbedPages/INavigationServiceExtensions.cs b/src/Forms/Prism.Forms/Navigation/TabbedPages/INavigationServiceExtensions.cs index 39c30d03b9..4140907809 100644 --- a/src/Forms/Prism.Forms/Navigation/TabbedPages/INavigationServiceExtensions.cs +++ b/src/Forms/Prism.Forms/Navigation/TabbedPages/INavigationServiceExtensions.cs @@ -10,6 +10,7 @@ public static class INavigationServiceExtensions /// /// Selects a Tab of the TabbedPage parent. /// + /// Service for handling navigation between views /// The name of the tab to select /// The navigation parameters public static async Task SelectTabAsync(this INavigationService navigationService, string name, INavigationParameters parameters = null) diff --git a/src/Forms/Prism.Unity.Forms/PrismApplication.cs b/src/Forms/Prism.Unity.Forms/PrismApplication.cs index fa4167ec02..ed5e7e80bd 100644 --- a/src/Forms/Prism.Unity.Forms/PrismApplication.cs +++ b/src/Forms/Prism.Unity.Forms/PrismApplication.cs @@ -4,6 +4,9 @@ [assembly: Xamarin.Forms.XmlnsDefinition("http://prismlibrary.com", "Prism.Unity")] namespace Prism.Unity { + /// + /// Base class for PrismApplication + /// public abstract class PrismApplication : PrismApplicationBase { /// diff --git a/src/Prism.Core/Common/ParametersBase.cs b/src/Prism.Core/Common/ParametersBase.cs index d2a377f515..9d9ce57a23 100644 --- a/src/Prism.Core/Common/ParametersBase.cs +++ b/src/Prism.Core/Common/ParametersBase.cs @@ -7,14 +7,24 @@ namespace Prism.Common { + /// + /// This is a generic parameters base class used for Dialog Parameters and Navigation Parameters + /// public abstract class ParametersBase : IEnumerable> { private readonly List> _entries = new List>(); + /// + /// Default constructor + /// protected ParametersBase() { } + /// + /// Constructs a list of parameters + /// + /// Query string to be parsed protected ParametersBase(string query) { if (!string.IsNullOrWhiteSpace(query)) @@ -58,6 +68,12 @@ protected ParametersBase(string query) } } + /// + /// Searches Parameter collection and returns value if Collection contains key. + /// Otherswise returns null. + /// + /// The key for the value to be returned + /// The value of the parameter referenced by the key; otherwise null public object this[string key] { get @@ -74,32 +90,74 @@ public object this[string key] } } + /// + /// The count, or number, of parameters in collection + /// public int Count => _entries.Count; + /// + /// Returns an IEnumerable of the Keys in the collection + /// public IEnumerable Keys => _entries.Select(x => x.Key); + /// + /// Adds the key and value to the KeyValuePair collection + /// + /// The key to reference this value in the KeyValuePair + /// The value of the parameter to store public void Add(string key, object value) => _entries.Add(new KeyValuePair(key, value)); + /// + /// Checks collection for presense of key + /// + /// The key to check in the collection + /// true if key exists; else returns false. public bool ContainsKey(string key) => _entries.ContainsKey(key); + /// + /// Gets an enumerator for the KeyValuePairs in parameter collection + /// + /// Enumerator public IEnumerator> GetEnumerator() => _entries.GetEnumerator(); - + + /// + /// Returns the value of the member referenced by key + /// + /// The type of object to be returned + /// The key for the value to be returned + /// Returns a matching parameter of if one exists in the Collection public T GetValue(string key) => _entries.GetValue(key); + /// + /// Returns an IEnumerable of all parameters + /// + /// The type for the values to be returned + /// The key for the values to be returned + ///Returns a IEnumberable of all the instances of type public IEnumerable GetValues(string key) => _entries.GetValues(key); + /// + /// Checks to see if the parameter collection contains the value + /// + /// The type for the values to be returned + /// The key for the value to be returned + /// Value of the returned parameter if it exists public bool TryGetValue(string key, out T value) => _entries.TryGetValue(key, out value); IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); + /// + /// Converts parameter collection to a parameter string + /// + /// A string representation of the parameters public override string ToString() { var queryBuilder = new StringBuilder(); @@ -129,6 +187,10 @@ public override string ToString() return queryBuilder.ToString(); } + /// + /// Adds a collection of parameters to the local parameter list + /// + /// An IEnumberable of KeyValuePairs to add to the current parameter list [EditorBrowsable(EditorBrowsableState.Never)] public void FromParameters(IEnumerable> parameters) => _entries.AddRange(parameters); diff --git a/src/Prism.Core/Modularity/IModuleInfo.cs b/src/Prism.Core/Modularity/IModuleInfo.cs index 9ade53fe96..7ef81c2f27 100644 --- a/src/Prism.Core/Modularity/IModuleInfo.cs +++ b/src/Prism.Core/Modularity/IModuleInfo.cs @@ -2,13 +2,42 @@ namespace Prism.Modularity { + /// + /// Set of properties for each Module + /// public interface IModuleInfo : IModuleCatalogItem { + /// + /// The module names this instance depends on. + /// Collection DependsOn { get; set; } + + /// + /// Gets or Sets the + /// InitializationMode InitializationMode { get; set; } + + /// + /// The name of the module + /// string ModuleName { get; set; } + + /// + /// The module's type + /// string ModuleType { get; set; } + + /// + /// A string ref is a location reference to load the module as it may not be already loaded in the Appdomain in some cases may need to be downloaded. + /// + /// + /// This is only used for WPF + /// string Ref { get; set; } + + /// + /// Gets or Sets the current + /// ModuleState State { get; set; } } -} \ No newline at end of file +} diff --git a/src/Prism.Core/Modularity/IModuleInfoGroup.cs b/src/Prism.Core/Modularity/IModuleInfoGroup.cs index c4395df52d..c12ebf1fc0 100644 --- a/src/Prism.Core/Modularity/IModuleInfoGroup.cs +++ b/src/Prism.Core/Modularity/IModuleInfoGroup.cs @@ -4,10 +4,23 @@ namespace Prism.Modularity { // IList must be supported in Silverlight 2 to be able to add items from XAML + /// + /// A collection of for the Modules used by the application + /// public interface IModuleInfoGroup : IModuleCatalogItem, IList, IList { + /// + /// When Prism should Initialize the module + /// + /// InitializationMode InitializationMode { get; set; } + /// + /// A string ref is a location reference to load the module as it may not be already loaded in the Appdomain in some cases may need to be downloaded. + /// + /// + /// This is only used for WPF + /// string Ref { get; set; } } } diff --git a/src/Wpf/Prism.DryIoc.Wpf/Legacy/DryIocExtensions.cs b/src/Wpf/Prism.DryIoc.Wpf/Legacy/DryIocExtensions.cs index 8dd46c3533..8d3fdcf147 100644 --- a/src/Wpf/Prism.DryIoc.Wpf/Legacy/DryIocExtensions.cs +++ b/src/Wpf/Prism.DryIoc.Wpf/Legacy/DryIocExtensions.cs @@ -10,6 +10,7 @@ public static class DryIocExtensions /// Registers an object for navigation. /// /// The Type of the object to register + /// The container instance /// The unique name to register with the object public static void RegisterTypeForNavigation(this IContainer container, string name = null) {