Как сделать мой WPF MainWindow синглтоном?

Я хочу сделать мой MainWindow синглтоном, потому что я хочу упростить доступ к нему из всех других окон в моем приложении. Но я не мог заставить его работать. Вот что я сделал.

Как обычно, я сделал подрядчика MainWindow закрытым и создал общедоступное статическое свойство MainWindow Instance для возврата статического экземпляра. Когда я просто запустил его без каких-либо других изменений, я получил ошибку «Нет доступного источника». Я погуглил в Интернете и нашел одну связанную тему на http: //www.netframeworkdev. com / windows-presentation-foundation-wpf / xamlc-singleton-class-80578.shtml . Однако я не смог заставить его работать так, как было предложено там. Некоторые предлагают изменить в MainWindow.xaml с

на

, что выглядит логичным. Однако, когда я это сделал, я получил массу ошибок компиляции (первая говорит, что пространство имен TestApp уже содержит определение MainWindow.)

Я нашел в Интернете много статей о том, как создать приложение с одним экземпляром. Я этого не ищу. Я просто хочу сделать свой MainWindow синглтоном. Я делал это в приложениях WinForm много раз.

6
задан newman 30 September 2010 в 03:58
поделиться