using FWindSoft.Data; using FWindSoft.Wpf.Controls; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; namespace FWindSoft.Wpf.Common { public class ResultMessage { #region 窗体附加参数维护 public static readonly DependencyProperty ResultProperty = DependencyProperty.RegisterAttached("Result", typeof(DataWrapper), typeof(ResultMessage), new PropertyMetadata(null, null)); [AttachedPropertyBrowsableForType(typeof(UIElement))] public static DataWrapper GetResult(DependencyObject obj) { return obj.GetValue(ResultProperty) as DataWrapper; } [AttachedPropertyBrowsableForType(typeof(UIElement))] public static void SetResult(DependencyObject obj, DataWrapper value) { obj.SetValue(ResultProperty, value); } static ResultMessage() { } #endregion } public static class ResultMessageExtension { public static DataWrapper GetResult(this UIElement baseWindow) { return ResultMessage.GetResult(baseWindow); } public static void SetResult(this UIElement baseWindow,DataWrapper wrapper) { ResultMessage.SetResult(baseWindow, wrapper); } /// /// 获取关联真实值 /// /// /// public static object GetRealResult(this UIElement baseWindow) { var dataWrapper= ResultMessage.GetResult(baseWindow) as DataWrapper; if (dataWrapper == null) return null; return dataWrapper.Parameter; } public static T GetRealResult(this UIElement baseWindow) { var dataWrapper = ResultMessage.GetResult(baseWindow) as DataWrapper; if (dataWrapper == null) return default(T); return dataWrapper.GetValue(); } /// /// 设置关联真实值 /// /// /// public static void SetRealResult(this UIElement baseWindow, object realValue) { var dataWrapper = new DataWrapper(realValue); ResultMessage.SetResult(baseWindow, dataWrapper); } public static void SetRealResult(this UIElement baseWindow, T realValue) { SetRealResult(baseWindow, (object)realValue); } } }