* 重构多页面框架传值
This commit is contained in:
parent
93c7441803
commit
15b67be54a
@ -62,33 +62,4 @@ namespace Sunny.UI
|
||||
public delegate void OnSelectionChanged(object sender, UITextBoxSelectionArgs e);
|
||||
|
||||
public delegate void OnDateTimeChanged(object sender, UIDateTimeArgs e);
|
||||
|
||||
public class UIPageParamsArgs : EventArgs
|
||||
{
|
||||
public UIPage Page { get; set; }
|
||||
|
||||
public object Value { get; set; }
|
||||
|
||||
public UIParamSourceType SourceType { get; set; }
|
||||
|
||||
public UIPageParamsArgs()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public UIPageParamsArgs(UIPage page, object value, UIParamSourceType sourceType)
|
||||
{
|
||||
Page = page;
|
||||
Value = value;
|
||||
SourceType = sourceType;
|
||||
}
|
||||
}
|
||||
|
||||
public enum UIParamSourceType
|
||||
{
|
||||
Frame,
|
||||
Page
|
||||
}
|
||||
|
||||
public delegate bool OnReceiveParams(object sender, UIPageParamsArgs e);
|
||||
}
|
@ -2196,36 +2196,43 @@ namespace Sunny.UI
|
||||
|
||||
public bool ExistPage(Guid pageGuid) => GetPage(pageGuid) != null;
|
||||
|
||||
public bool SendParamToPage(int pageIndex, UIPage sourcePage, object value)
|
||||
public bool SendParamToPage(int pageIndex, UIPageParamsArgs e)
|
||||
{
|
||||
SetDefaultTabControl();
|
||||
UIPage page = GetPage(pageIndex);
|
||||
if (page == null) return false;
|
||||
return page.DoReceiveParams(new UIPageParamsArgs(sourcePage, value, UIParamSourceType.Page));
|
||||
page?.DoReceiveParams(e);
|
||||
return e.Handled;
|
||||
}
|
||||
|
||||
public bool SendParamToPage(Guid pageGuid, UIPage sourcePage, object value)
|
||||
public bool SendParamToPage(Guid pageGuid, UIPageParamsArgs e)
|
||||
{
|
||||
SetDefaultTabControl();
|
||||
UIPage page = GetPage(pageGuid);
|
||||
if (page == null) return false;
|
||||
return page.DoReceiveParams(new UIPageParamsArgs(sourcePage, value, UIParamSourceType.Page));
|
||||
page?.DoReceiveParams(e);
|
||||
return e.Handled;
|
||||
}
|
||||
|
||||
public bool SendParamToPage(int pageIndex, object value)
|
||||
{
|
||||
SetDefaultTabControl();
|
||||
UIPage page = GetPage(pageIndex);
|
||||
if (page == null) return false;
|
||||
return page.DoReceiveParams(new UIPageParamsArgs(null, value, UIParamSourceType.Frame));
|
||||
var args = new UIPageParamsArgs(null, value, UIParamSourceType.Frame);
|
||||
page?.DoReceiveParams(args);
|
||||
return args.Handled;
|
||||
}
|
||||
|
||||
public bool DoReceiveParams(UIPageParamsArgs e)
|
||||
public bool SendParamToPage(Guid pageGuid, object value)
|
||||
{
|
||||
bool result = false;
|
||||
if (ReceiveParams != null)
|
||||
result = ReceiveParams.Invoke(this, e);
|
||||
return result;
|
||||
SetDefaultTabControl();
|
||||
UIPage page = GetPage(pageGuid);
|
||||
var args = new UIPageParamsArgs(null, value, UIParamSourceType.Frame);
|
||||
page?.DoReceiveParams(args);
|
||||
return args.Handled;
|
||||
}
|
||||
|
||||
public void DoReceiveParams(UIPageParamsArgs e)
|
||||
{
|
||||
ReceiveParams?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public event OnReceiveParams ReceiveParams;
|
||||
|
@ -52,11 +52,11 @@ namespace Sunny.UI
|
||||
|
||||
bool ExistPage(Guid pageGuid);
|
||||
|
||||
public bool SendParamToPage(int pageIndex, UIPage sourcePage, object value);
|
||||
bool SendParamToPage(int pageIndex, UIPageParamsArgs e);
|
||||
|
||||
public bool SendParamToPage(Guid pageGuid, UIPage sourcePage, object value);
|
||||
bool SendParamToPage(Guid pageGuid, UIPageParamsArgs e);
|
||||
|
||||
public bool DoReceiveParams(UIPageParamsArgs e);
|
||||
void DoReceiveParams(UIPageParamsArgs e);
|
||||
|
||||
void Init();
|
||||
|
||||
@ -67,7 +67,40 @@ namespace Sunny.UI
|
||||
List<T> GetPages<T>() where T : UIPage;
|
||||
|
||||
void DealPageAdded(UIPage page);
|
||||
|
||||
void DealPageSelected(UIPage page);
|
||||
|
||||
void DealPageRemoved(UIPage page);
|
||||
}
|
||||
|
||||
public class UIPageParamsArgs : EventArgs
|
||||
{
|
||||
public UIPage Page { get; set; }
|
||||
|
||||
public object Value { get; set; }
|
||||
|
||||
public UIParamSourceType SourceType { get; set; }
|
||||
|
||||
public bool Handled { get; set; } = false;
|
||||
|
||||
public UIPageParamsArgs()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public UIPageParamsArgs(UIPage page, object value, UIParamSourceType sourceType)
|
||||
{
|
||||
Page = page;
|
||||
Value = value;
|
||||
SourceType = sourceType;
|
||||
}
|
||||
}
|
||||
|
||||
public enum UIParamSourceType
|
||||
{
|
||||
Frame,
|
||||
Page
|
||||
}
|
||||
|
||||
public delegate void OnReceiveParams(object sender, UIPageParamsArgs e);
|
||||
}
|
||||
|
@ -834,28 +834,28 @@ namespace Sunny.UI
|
||||
|
||||
public bool SendParamToFrame(object value)
|
||||
{
|
||||
if (Frame == null) return false;
|
||||
return Frame.DoReceiveParams(new UIPageParamsArgs(this, value, UIParamSourceType.Page));
|
||||
var args = new UIPageParamsArgs(this, value, UIParamSourceType.Page);
|
||||
Frame?.DoReceiveParams(args);
|
||||
return args.Handled;
|
||||
}
|
||||
|
||||
public bool SendParamToPage(int pageIndex, object value)
|
||||
{
|
||||
if (Frame == null) return false;
|
||||
return Frame.SendParamToPage(pageIndex, this, value);
|
||||
var args = new UIPageParamsArgs(this, value, UIParamSourceType.Page);
|
||||
Frame?.SendParamToPage(pageIndex, args);
|
||||
return args.Handled;
|
||||
}
|
||||
|
||||
public bool SendParamToPage(Guid pageGuid, object value)
|
||||
{
|
||||
if (Frame == null) return false;
|
||||
return Frame.SendParamToPage(pageGuid, this, value);
|
||||
var args = new UIPageParamsArgs(this, value, UIParamSourceType.Page);
|
||||
Frame?.SendParamToPage(pageGuid, args);
|
||||
return args.Handled;
|
||||
}
|
||||
|
||||
public bool DoReceiveParams(UIPageParamsArgs e)
|
||||
public void DoReceiveParams(UIPageParamsArgs e)
|
||||
{
|
||||
bool result = false;
|
||||
if (ReceiveParams != null)
|
||||
result = ReceiveParams.Invoke(this, e);
|
||||
return result;
|
||||
ReceiveParams?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public event OnReceiveParams ReceiveParams;
|
||||
|
Loading…
x
Reference in New Issue
Block a user