'Ссылка на объект не установлена ​​для экземпляра объекта' При вызове метода окна в usercontrol при минимизации? [Дубликат]

Вы можете создать метод расширения, чтобы сделать его более чистым:

static class DataRowExtensions
{
    public static object GetValue(this DataRow row, string column)
    {
        return row.Table.Columns.Contains(column) ? row[column] : null;
    }
}

Теперь вызовите его, как показано ниже:

foreach(DataRow row in table)
    return yield new Thingy { Name = row.GetValue("hazaa") };
0
задан Luat 6 March 2019 в 09:17
поделиться

1 ответ

Когда вы минимизируете или устанавливаете фокус на что-либо еще, isactive становится false, потому что окно больше не имеет фокуса.

https://docs.microsoft.com/en-us/dotnet/api/system.windows.window.isactive?view=netframework-4.7.2

Singleordefault будет вернуть ноль, если ничего не подходит.

Поэтому я предлагаю вам снять неактивный чек.

System.Windows.Application.Current.Windows.OfType<My_Window>().SingleOrDefault).My_Window_Method();

Но я также предлагаю вам рассмотреть возможность развязки и использования суб-паттерна паба, такого как mvvmlight messenger.

0
ответ дан Andy 6 March 2019 в 09:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: