Как узнать, существует ли объект класса - PullRequest
0 голосов
/ 11 апреля 2009

В моем событии ListBoxItem MouseEnter я создаю новое окно со следующим кодом.

Window w = new Window();
w.Show();

Когда мышь покидает текущий элемент, я хочу закрыть окно.

Как мне это сделать?

Большое спасибо.

Ответы [ 2 ]

2 голосов
/ 11 апреля 2009

Сохраните ссылку на окно (w в вашем случае) в месте, где и обработчик событий для MouseEnter и MouseExit могут получить к нему доступ, а затем просто выполните w.Close().

0 голосов
/ 11 апреля 2009

Вместо сохранения w в локальной переменной сохраните его в переменной-члене текущего класса. В MouseExit используйте переменную-член, чтобы закрыть окно.

public partial class ListWindow
{
    Window displayWindow;

    public void OnListBoxItem_MouseEnter()
    {
        displayWindow = new Window();
        displayWindow.Show();
    }

    public void OnListBoxItem_MouseExit()
    {
        displayWindow.Close();
    }
}
...