wpf 只让窗口保留一个,并在最前显示

就是遍历所有的,有的话就不生成了,没有的话就生成一个,还有最前是一个参数,最后就是窗口事件了。

ChangeDistingWordOfSelected mw = null;
            foreach (Window win in App.Current.Windows)
            {
                if (win is ChangeDistingWordOfSelected)
                {
                    mw = win as ChangeDistingWordOfSelected;
                }
            }
            if (mw == null)
            {
                mw = new ChangeDistingWordOfSelected();
                mw.WindowStartupLocation = WindowStartupLocation.Manual;
               // mw.Left = 1025;//窗口生成的位置
                mw.Left = Mouse.GetPosition(GlobalHelper._mainWindow).X;
                mw.Top = Mouse.GetPosition(this).Y ;
                mw.Show();
            }
            else
            {
                mw.Visibility = System.Windows.Visibility.Visible;
                mw.Topmost = true;
            }

mw.btn_ok.Click += delegate//确定替换字
            {
                ListResult[CurrentLineIndex].LineTxtInfo[CurrentTxtIndex].TxtResult = mw.ChangedWord.Text;//更换选中的字;

ObservableCollection<string> strNewLineTxt = new ObservableCollection<string>();
                strNewLineTxt.Clear();
                for (int l = 0; l < ListResult[CurrentLineIndex].LineTxtInfo.Count; l++)
                {
                    strNewLineTxt.Add(ListResult[CurrentLineIndex].LineTxtInfo[l].TxtResult);
                }
                this.ListListBox[CurrentLineIndex].ItemsSource = strNewLineTxt;
                mw.Close();
            };

2,也可以新那家一个全局的窗口对象,每次检查当前对象是否为空

if (drawingsoftware_wnd == null)
            {
                double height = this.Height;
                double width = this.Width;
                drawingsoftware_wnd = new DrawingSoftware_Popup(this, height, width);
                drawingsoftware_wnd.Owner = this;
            }

if (!drawingsoftware_wnd.IsVisible)
            {
                drawingsoftware_wnd.Show();
                this.Hide();
            }
            else
            {
                drawingsoftware_wnd.Hide();
            }

时间: 2024-10-07 09:16:43

wpf 只让窗口保留一个,并在最前显示的相关文章

程序设计-----字符串中删除连续空格,只保留一个空格 数中删除连续相同的数,只保留一个数

一.问题描述 输入一个字符串,注意是可以带空格的,我们所要做的是如果字符之间有很多个连续的空格,我们只需要保留一个空格,并输出显示. 有一个类似的问题,是将一个数中连续相同的数删除掉,只保留其中一个数,如3456667,转化为34567.这个问题与字符串的问题大体上是一致的, 只是字符串限定了只有连续的空格需要处理,连续的其他字符是可以接受的,如abbbc是满足条件的,而a    bbb     ccc则要转换为a bbb ccc. 二.问题分析 在书写程序的过程中,首先的思路是以空间换取时间,

php删除数组中相同的元素,只保留一个相同元素

<?php// 删除数组中相同元素,只保留一个相同元素function formatArray($array){sort($array);$tem = ”;$temarray = array();$j = 0;for($i=0;$i<count($array);$i++){if($array[$i]!=$tem){$temar(www.111cn.net)ray[$j] = $array[$i];$j++;}$tem = $array[$i];}return $temarray;}//测试 调

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号.然后再把这些数从小到大排序,按照排好的顺序去找同学做调查.请你协助明明完成"去重"与"排序"的工作. Input Param n               输入随机数的个数 inputArray      n个随机整数组成的数组 Return Value

【转】WPF中的窗口的生命周期

原文地址:http://www.cnblogs.com/Jennifer/articles/1997763.html WPF中的窗口的生命周期 WPF中所有窗口的基类型都是System.Windows.Window.Window通常用于SDI窗口和对话框.Window在应用程序中除了一个设计用于托管顶级内容的控件外,就别无他物了.典型的,可以混合使用标记和代码来定义一个窗口.代码如下: 在xaml页: <Window x:Class="WPFApplication1.MainWindow&

右键“在此处打开命令行窗口”的一个小秘密

右键"在此处打开命令行窗口"的一个小秘密 我们都知道windows7开始,提供了一个便于从当前文件夹打开cmd命令行窗口的快捷方式: Shift+鼠标右键==>"在此处打开命令行窗口" 如此,就能快速的在当前目录打开cmd窗口,以执行命令. 今天,在配置ant的环境变量时,添加了ant的bin目录到path变量中后,使用上述方式打开了想要build的工程的目录,输入ant命令,一直提示: 'ant' 不是内部或外部命令,也不是可运行的程序或批处理文件. 这就奇

WPF中使用MVVM创建一个简单的框架

MVVM模式 一.MVVM模式概述 MVVM Pattern : Model\View\ViewModel View:视图.UI界面 ViewModel:ViewModel是对Model的封装,通过一系列属性暴露Model的状态,提供给View进行显示 Model:数据模型 使用MVVM模式可以将代码逻辑和UI进行分离,因此开发团队可以关注创建健壮的ViewModel类,而设计团队可以关注设计界面友好的View.要融合两个团队输出只需要在View的xaml上进行正确的绑定即可. 二.演示程序 下

[WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口

原文:[WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口 [WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口 周银辉 现象: 大家可以试试下面这个很有趣但会带来Defect的现象:当我们将子窗口按照ShowDialog()的方式显示出来的时候,很明显该窗口是模式化的(即主窗口等待该窗口的返回,主窗口将不相应用户输入),但如果此时将子窗口的Visibility设置成Visibility.Hidden来隐藏窗口,然后再将Visibility设置成Visibility.Visible来

QT+创建两个不相干的窗口实现一个显示一个不显示

因为两个窗口互不相干,所以需要重新创建一个窗口类subWidget subWidget.cpp文件 #ifndef SUBWIDGET_H #define SUBWIDGET_H #include <QWidget> #include <QPushButton> class SubWidget : public QWidget { Q_OBJECT public: explicit SubWidget(QWidget *parent = 0); void sendSlot(); s

删除一个目录下的所有文件,但保留一个指定文件

此题问题虽小,但是初学者还是很难给出合理的答案的!本文来自老男孩21期网络班学员 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 面试题:删除一个目录下的所有文件,但保留一个指定文件 解答: 假设这个目录是/xx/,里面有file1,file2,file3..file10  十个文件