LoadParameter.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using FWindSoft.Wpf.Controls;
  7. namespace FWindSoft.Wpf
  8. {
  9. /// <summary>
  10. /// 加载参数设定
  11. /// </summary>
  12. public class LoadParameter
  13. {
  14. #region 静态方法
  15. //private static LoadParameter m_CurrentParameter;
  16. ///// <summary>
  17. ///// 当前加载参数
  18. ///// </summary>
  19. //public static LoadParameter CurrentParameter
  20. //{
  21. // get { return m_CurrentParameter; }
  22. // set { m_CurrentParameter = value; }
  23. //}
  24. #endregion
  25. public LoadParameter()
  26. {
  27. }
  28. /// <summary>
  29. /// 加载需要的参数
  30. /// </summary>
  31. /// <param name="parameter"></param>
  32. public LoadParameter(object parameter)
  33. {
  34. this.Parameter = parameter;
  35. }
  36. /// <summary>
  37. /// 窗体名称
  38. /// </summary>
  39. public string Title { get; set; }
  40. /// <summary>
  41. /// 初始化窗体实体类
  42. /// </summary>
  43. public object Parameter { get; set; }
  44. private readonly Dictionary<string, object> m_ParameterSource = new Dictionary<string, object>();
  45. public object this[string parameterName]
  46. {
  47. get
  48. {
  49. object result;
  50. m_ParameterSource.TryGetValue(parameterName, out result);
  51. return result;
  52. }
  53. set
  54. {
  55. m_ParameterSource[parameterName] = value;
  56. }
  57. }
  58. /*
  59. 所谓参数名,就是约定俗成的契约
  60. */
  61. public static void StartParameter(BaseWindow baseWindow,LoadParameter parameter)
  62. {
  63. baseWindow.StartParameter = parameter;
  64. }
  65. /// <summary>
  66. /// 设置子窗体参数
  67. /// </summary>
  68. /// <param name="baseWindow"></param>
  69. /// <param name="parameter"></param>
  70. public static void StartParameter(NChildWindow baseWindow, LoadParameter parameter)
  71. {
  72. baseWindow.SetStartParameter(new NParameter(parameter));
  73. }
  74. }
  75. }