DiffWin diffWin = null;
/// <summary>
/// 展示对比窗体
/// </summary>
public bool ShowDiffWin()
{
if (DiffRootDirReady)
{
App.Current.Dispatcher.Invoke(() =>
{
if (diffWin != null && PresentationSource.FromVisual(diffWin) != null)
{
diffWin.Topmost = true;
diffWin.WindowState = System.Windows.WindowState.Maximized;
}
else
{
diffWin = new DiffWin(this);
diffWin.Show();
}
});
return true;
}
return false;
}
核心思路
判断对象是否为空
PresentationSource.FromVisual函数判断源是否为空