EBS*_*EBS 2 c# wpf wpf-controls wpf-4.0
我想检查一些窗口是打开还是关闭.如果窗口已经打开,请将其对焦.如果窗口已经关闭,请打开窗口.
我用这个代码:
public static bool IsWindowOpen<T>(string name = "") where T : Window
{
return string.IsNullOrEmpty(name)? Application.Current.Windows.OfType<T>().Any(): Application.Current.Windows.OfType<T>().Any(w => w.Name.Equals(name));
}
private void MenuItem1_OnClick(object sender, RoutedEventArgs e)
{
if (IsWindowOpen<Window>("TestForm")) return;
var window1 = new Window1 { Name = "TestForm", Title = "Welcome", };
window1.Show();
}
Run Code Online (Sandbox Code Playgroud)
你能帮帮忙吗?
public static T IsWindowOpen<T>(string name = null)
where T : Window
{
var windows = Application.Current.Windows.OfType<T>();
return string.IsNullOrEmpty(name) ? windows.FirstOrDefault() : windows.FirstOrDefault(w => w.Name.Equals(name));
}
private void MenuItem1_OnClick(object sender, RoutedEventArgs e)
{
var window = IsWindowOpen<Window>("TestForm");
if (window != null)
{
window.Focus();
}
else
{
window = new Window1 { Name = "TestForm", Title = "Welcome", };
window1.Show();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6798 次 |
| 最近记录: |