почему не работает эта работа? - Получение окна, которое скрыто - PullRequest
0 голосов
/ 15 января 2012

В моем приложении я использую скрытые и видимые объекты, чтобы окна показывались пользователю как или нет. Теперь, в какой-то момент, когда я нахожусь в Window1, я хочу проверить, есть ли еще экземпляр главного окна, который скрыт. Погуглив, я обнаружил (также на SO), что мне нужно использовать этот код:

Window deze = Application.Current.Windows.OfType<MainWindow>().Where(x => x.Name == "MainWindow").FirstOrDefault();   

Но что бы я ни заполнил для части OfType<MainWindow> или для "MainWindow", оно будет возвращать ноль, даже когда я уверен на 100%, что должен быть 1 экземпляр.

Проверка в коде главного окна, которое вызывается в обозревателе решений (визуальный экспресс) "mainWindow.xaml" я вижу, что код выглядит так:

namespace WpfApplication1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {      
        //creating the exitmessage for use later on, after all, we want to use this in an other method.


        public MainWindow()
        {
......
        }

У меня действительно нет никакой подсказки, почему это «Окно deze» продолжает возвращать ноль, когда я на 100% уверен, что есть скрытый экземпляр главного окна.

Кто-нибудь получил идею об этом? Я просто полностью пропускаю какое-то логическое решение?

Спасибо заранее!

Ответы [ 2 ]

1 голос
/ 15 января 2012

Попробуйте это:

Window deze = Application.Current.Windows.OfType<MainWindow>().FirstOrDefault();

Что вы делаете, это просматриваете свойство окна с именем name и проверяете, соответствует ли оно строке «MainWindow».Это не.Поскольку вы уже ищете этот тип (из которых только один), вам просто нужно вернуть первый обратно в вашу переменную.

1 голос
/ 15 января 2012

Where является избыточным, поскольку, как вы видите, он проверяет определенное имя, которое вас не касается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...