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);
}
}
}