* 重构多页面框架传值
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 OnSelectionChanged(object sender, UITextBoxSelectionArgs e);
|
||||||
|
|
||||||
public delegate void OnDateTimeChanged(object sender, UIDateTimeArgs 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 ExistPage(Guid pageGuid) => GetPage(pageGuid) != null;
|
||||||
|
|
||||||
public bool SendParamToPage(int pageIndex, UIPage sourcePage, object value)
|
public bool SendParamToPage(int pageIndex, UIPageParamsArgs e)
|
||||||
{
|
{
|
||||||
SetDefaultTabControl();
|
SetDefaultTabControl();
|
||||||
UIPage page = GetPage(pageIndex);
|
UIPage page = GetPage(pageIndex);
|
||||||
if (page == null) return false;
|
page?.DoReceiveParams(e);
|
||||||
return page.DoReceiveParams(new UIPageParamsArgs(sourcePage, value, UIParamSourceType.Page));
|
return e.Handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool SendParamToPage(Guid pageGuid, UIPage sourcePage, object value)
|
public bool SendParamToPage(Guid pageGuid, UIPageParamsArgs e)
|
||||||
{
|
{
|
||||||
SetDefaultTabControl();
|
SetDefaultTabControl();
|
||||||
UIPage page = GetPage(pageGuid);
|
UIPage page = GetPage(pageGuid);
|
||||||
if (page == null) return false;
|
page?.DoReceiveParams(e);
|
||||||
return page.DoReceiveParams(new UIPageParamsArgs(sourcePage, value, UIParamSourceType.Page));
|
return e.Handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool SendParamToPage(int pageIndex, object value)
|
public bool SendParamToPage(int pageIndex, object value)
|
||||||
{
|
{
|
||||||
SetDefaultTabControl();
|
SetDefaultTabControl();
|
||||||
UIPage page = GetPage(pageIndex);
|
UIPage page = GetPage(pageIndex);
|
||||||
if (page == null) return false;
|
var args = new UIPageParamsArgs(null, value, UIParamSourceType.Frame);
|
||||||
return page.DoReceiveParams(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;
|
SetDefaultTabControl();
|
||||||
if (ReceiveParams != null)
|
UIPage page = GetPage(pageGuid);
|
||||||
result = ReceiveParams.Invoke(this, e);
|
var args = new UIPageParamsArgs(null, value, UIParamSourceType.Frame);
|
||||||
return result;
|
page?.DoReceiveParams(args);
|
||||||
|
return args.Handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void DoReceiveParams(UIPageParamsArgs e)
|
||||||
|
{
|
||||||
|
ReceiveParams?.Invoke(this, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
public event OnReceiveParams ReceiveParams;
|
public event OnReceiveParams ReceiveParams;
|
||||||
|
@ -52,11 +52,11 @@ namespace Sunny.UI
|
|||||||
|
|
||||||
bool ExistPage(Guid pageGuid);
|
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();
|
void Init();
|
||||||
|
|
||||||
@ -67,7 +67,40 @@ namespace Sunny.UI
|
|||||||
List<T> GetPages<T>() where T : UIPage;
|
List<T> GetPages<T>() where T : UIPage;
|
||||||
|
|
||||||
void DealPageAdded(UIPage page);
|
void DealPageAdded(UIPage page);
|
||||||
|
|
||||||
void DealPageSelected(UIPage page);
|
void DealPageSelected(UIPage page);
|
||||||
|
|
||||||
void DealPageRemoved(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)
|
public bool SendParamToFrame(object value)
|
||||||
{
|
{
|
||||||
if (Frame == null) return false;
|
var args = new UIPageParamsArgs(this, value, UIParamSourceType.Page);
|
||||||
return Frame.DoReceiveParams(new UIPageParamsArgs(this, value, UIParamSourceType.Page));
|
Frame?.DoReceiveParams(args);
|
||||||
|
return args.Handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool SendParamToPage(int pageIndex, object value)
|
public bool SendParamToPage(int pageIndex, object value)
|
||||||
{
|
{
|
||||||
if (Frame == null) return false;
|
var args = new UIPageParamsArgs(this, value, UIParamSourceType.Page);
|
||||||
return Frame.SendParamToPage(pageIndex, this, value);
|
Frame?.SendParamToPage(pageIndex, args);
|
||||||
|
return args.Handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool SendParamToPage(Guid pageGuid, object value)
|
public bool SendParamToPage(Guid pageGuid, object value)
|
||||||
{
|
{
|
||||||
if (Frame == null) return false;
|
var args = new UIPageParamsArgs(this, value, UIParamSourceType.Page);
|
||||||
return Frame.SendParamToPage(pageGuid, this, value);
|
Frame?.SendParamToPage(pageGuid, args);
|
||||||
|
return args.Handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool DoReceiveParams(UIPageParamsArgs e)
|
public void DoReceiveParams(UIPageParamsArgs e)
|
||||||
{
|
{
|
||||||
bool result = false;
|
ReceiveParams?.Invoke(this, e);
|
||||||
if (ReceiveParams != null)
|
|
||||||
result = ReceiveParams.Invoke(this, e);
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public event OnReceiveParams ReceiveParams;
|
public event OnReceiveParams ReceiveParams;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user