我有一个WPF父子应用程序,父窗口是功能区窗口,单击RibbonButton时,将打开子窗口。
打开窗口代码是:
MyWindow uiObj=new MyWindow();
ShowWindow(uiObj, this);
我已编写此函数,因为这将是单独的dll,它不应该特定于任何特定的UI
public void ShowWindow(Object Obj, Object ObjThis)
{
Window winObj = (Window)Obj;
winObj.Owner = (Window)ObjThis;
winObj.ShowInTaskbar = false;
winObj.Show();
}
我需要什么: 只要点击相同的按钮,我想检查窗口是否打开然后打开。
我不能将我的UI类声明为
MyWindow uiObj;
或
MyWindow uiObj = null;
并传递给我的函数
ShowWindow(uiObj, this);
因此窗口对象将在制作" new"之后传递。并检查像" null"工作
我相信会有更好的解决方案。
答案 0 :(得分:0)
你可以捕获事件:结束/显示:
MyWindow uiObj=new MyWindow();
uiObj.Closing+={windowsOpened = false;}
uiObj.Shown+={windowsOpened = true;}
public void ShowWindow(Object Obj, Object ObjThis)
{
if(windowsOpened)return;
...