2012-01-14 4 views
0

내 응용 프로그램 내에서 숨겨진 가시적 속성을 사용하여 창을 사용자에게 보여 주거나 표시하지 않습니다. 이제 어떤 시점에서 Window1에있을 때 숨겨진 주 창 인스턴스가 여전히 있는지 확인하려고합니다. 난 부분 OfType<MainWindow>에 대한 기입 또는 "MainWindow" 것이 확실 거기 경우에도 메신저 100 % null을 반환 계속 어떤왜이 작업을하지 않습니까? - 숨겨진 창 받기

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

그러나 : 인터넷 검색, 난 (도에 SO) 나는이 코드를 사용할 필요가 발견 1 인스턴스 여야합니다. 어떤

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() 
     { 
...... 
     } 

난 정말이 : 메인 윈도우의 코드에서 확인

, 그는 내가 코드는 다음과 같은 것을 볼 솔루션 탐색기 (시각적 표현) "mainWindow.xaml" 에라고 단서, 왜 "Window deze"가 메인 윈도우의 숨겨진 인스턴스가 있는지 100 % 확신 할 때 null을 반환하는 이유.

누구나이 아이디어를 얻었습니까? 저는 논리적 인 해결책을 완전히 간과하고 있습니까?

thanx!

답변

1

Where은 중복 된 것으로, 사용자가 걱정하지 않는 특정 이름을 확인합니다.

+1

예. 그리고 그 이름은 Window의 클래스 이름과 구별됩니다. – kenny

+0

@kenny : 좋은 설명입니다. –

1

이 시도 : 당신은 무엇을하고있는 것은 윈도우라는 이름의 속성을보고하고 문자열 "MainWindow를"를 일치하는 경우보고있다

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

. 그렇지 않습니다. 이미이 유형 (하나만있는 유형)을 찾고 있기 때문에 첫 번째 변수를 변수에 반환하면됩니다.

관련 문제