C# 限制打开重复对话框
我有一个WPF父-子应用程序,父窗口是ribbon窗口,单击ribbon按钮,子窗口将打开 要打开窗口代码,请执行以下操作:C# 限制打开重复对话框,c#,wpf,C#,Wpf,我有一个WPF父-子应用程序,父窗口是ribbon窗口,单击ribbon按钮,子窗口将打开 要打开窗口代码,请执行以下操作: MyWindow uiObj=new MyWindow(); ShowWindow(uiObj, this); 我已经写了这个函数,因为这将是在单独的dll,它不应该是特定于任何特定的用户界面 public void ShowWindow(Object Obj, Object ObjThis) { Window winObj = (Window)Obj;
MyWindow uiObj=new MyWindow();
ShowWindow(uiObj, this);
我已经写了这个函数,因为这将是在单独的dll,它不应该是特定于任何特定的用户界面
public void ShowWindow(Object Obj, Object ObjThis)
{
Window winObj = (Window)Obj;
winObj.Owner = (Window)ObjThis;
winObj.ShowInTaskbar = false;
winObj.Show();
}
我需要什么:
每当单击同一个按钮时,我想检查窗口是否打开,然后再打开
我不能将我的UI类声明为
MyWindow uiObj;
或
并传递给我的功能
ShowWindow(uiObj, this);
因此,在执行“new”和“null”等检查后,窗口对象将被传递
我相信会有更好的解决方案。您可以捕获事件:关闭/显示:
MyWindow uiObj=new MyWindow();
uiObj.Closing+={windowsOpened = false;}
uiObj.Shown+={windowsOpened = true;}
public void ShowWindow(Object Obj, Object ObjThis)
{
if(windowsOpened)return;
...
只要子窗口打开,是否需要使用父窗口?或者你能挡住它吗?看一看
MyWindow uiObj=new MyWindow();
uiObj.Closing+={windowsOpened = false;}
uiObj.Shown+={windowsOpened = true;}
public void ShowWindow(Object Obj, Object ObjThis)
{
if(windowsOpened)return;
...