* UIForm: 重构页面添加、选择、删除事件
This commit is contained in:
parent
ec7d24e8e0
commit
bb28d99411
@ -261,9 +261,12 @@ namespace Sunny.UI
|
||||
public void AddPage(UIPage page)
|
||||
{
|
||||
Helper.AddPage(page);
|
||||
Frame?.DealPageAdded(page);
|
||||
PageAdded?.Invoke(this, new UIPageEventArgs(page));
|
||||
}
|
||||
|
||||
internal event OnUIPageChanged PageAdded;
|
||||
internal event OnUIPageChanged PageRemoved;
|
||||
|
||||
public void AddPage(int pageIndex, UITabControl page) => Helper.AddPage(pageIndex, page);
|
||||
|
||||
public void AddPage(int pageIndex, UITabControlMenu page) => Helper.AddPage(pageIndex, page);
|
||||
@ -850,7 +853,7 @@ namespace Sunny.UI
|
||||
{
|
||||
if (AutoClosePage)
|
||||
{
|
||||
Frame?.DealPageRemoved(pages[i]);
|
||||
PageRemoved?.Invoke(this, new UIPageEventArgs(pages[i]));
|
||||
|
||||
try
|
||||
{
|
||||
|
@ -2115,6 +2115,9 @@ namespace Sunny.UI
|
||||
{
|
||||
mainTabControl = value;
|
||||
mainTabControl.Frame = this;
|
||||
|
||||
mainTabControl.PageAdded += DealPageAdded;
|
||||
mainTabControl.PageRemoved += DealPageRemoved;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2141,6 +2144,7 @@ namespace Sunny.UI
|
||||
|
||||
page.Frame = this;
|
||||
page.OnFrameDealPageParams += Page_OnFrameDealPageParams;
|
||||
page.PageSelected += DealPageSelected;
|
||||
MainTabControl?.AddPage(page);
|
||||
return page;
|
||||
}
|
||||
@ -2246,21 +2250,21 @@ namespace Sunny.UI
|
||||
|
||||
public event OnUIPageChanged PageAdded;
|
||||
|
||||
public void DealPageAdded(UIPage page)
|
||||
internal void DealPageAdded(object sender, UIPageEventArgs e)
|
||||
{
|
||||
PageAdded?.Invoke(this, new UIPageEventArgs(page));
|
||||
PageAdded?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public event OnUIPageChanged PageSelected;
|
||||
public void DealPageSelected(UIPage page)
|
||||
internal void DealPageSelected(object sender, UIPageEventArgs e)
|
||||
{
|
||||
PageSelected?.Invoke(this, new UIPageEventArgs(page));
|
||||
PageSelected?.Invoke(this, e);
|
||||
}
|
||||
|
||||
public event OnUIPageChanged PageRemoved;
|
||||
public void DealPageRemoved(UIPage page)
|
||||
internal void DealPageRemoved(object sender, UIPageEventArgs e)
|
||||
{
|
||||
PageRemoved?.Invoke(this, new UIPageEventArgs(page));
|
||||
PageRemoved?.Invoke(this, e);
|
||||
}
|
||||
|
||||
#endregion IFrame实现
|
||||
|
@ -59,12 +59,6 @@ namespace Sunny.UI
|
||||
T GetPage<T>() where T : UIPage;
|
||||
|
||||
List<T> GetPages<T>() where T : UIPage;
|
||||
|
||||
void DealPageAdded(UIPage page);
|
||||
|
||||
void DealPageSelected(UIPage page);
|
||||
|
||||
void DealPageRemoved(UIPage page);
|
||||
}
|
||||
|
||||
public class UIPageParamsArgs : EventArgs
|
||||
|
@ -455,10 +455,11 @@ namespace Sunny.UI
|
||||
get; set;
|
||||
}
|
||||
|
||||
internal event OnUIPageChanged PageSelected;
|
||||
public virtual void Init()
|
||||
{
|
||||
Initialize?.Invoke(this, new EventArgs());
|
||||
Frame?.DealPageSelected(this);
|
||||
PageSelected?.Invoke(this, new UIPageEventArgs(this));
|
||||
}
|
||||
|
||||
protected override void OnLoad(EventArgs e)
|
||||
|
Loading…
x
Reference in New Issue
Block a user