2011-11-21 4 views
0

MainWindow.xaml.cs에서 다른 윈도우를 열고 싶습니다. 내 코드는 다음과 같습니다.C# 다른 윈도우의 버튼을 클릭하여 하나의 윈도우 열기

WordToHtml.Window1 newForm = new WordToHtml.Window1(); 
newForm.Show(); 
return newForm.imagePath; 

In Window1.xaml 레이블, 버튼 및 텍스트 상자가 있습니다. 사용자가 버튼을 클릭 한 다음 텍스트 상자에서 내용을 읽으려고합니다. 그러나 중단 점이 newForm.Show()에 오면 Window1이 표시되지만 보이지 않습니다.

string imagePath; 
public Window1() { 
    InitializeComponent(); 
    label1.Content = @"Please enter path"; 
} 
void button1_Click(object sender, RoutedEventArgs e) { 
    //this is never entered because I can't see the button 
} 
public string newImagePath(string imagePath) { 
    return imagePath; 
} 
+0

어디에서 중단 점을 삽입 했습니까? button_click 안에 삽입 해보십시오. – Muse

+0

왜 그것이 맞지 않을 것이라는 것을 안다면 button_click에 중단 점을 삽입하겠습니까? 버튼을 볼 수 없어 클릭 할 수 없습니다. –

+0

XAML도 게시 할 수 있습니까? 그래서 내가 올바르게 이해한다면, 새로운 창이 실제로 열렸지 만 그 안에는 아무것도 없습니까? – Peter

답변

1

코드는 당신이 명확 일도을하지 않는 보이고있다 니펫을 : 그것은이 번째 윈도의 코드 등 라벨/버튼이 없습니다. 나는 혼란을 지적하고있다 & 질문.

1). 사용자가 MainWindow의 일부 버튼을 클릭하면 새 윈도우가 레이블, 버튼 및 텍스트 상자가있는 "Window1"을 열어야한다고 가정합니다. 사용자는 텍스트 상자에 몇 가지 경로를 입력하고 window1이 닫아야하는 버튼을 클릭하고 "MainWindow"양식에서 이미지 경로를 사용할 수 있어야합니다. 내가 틀렸다면 나를 바로 잡아주세요.

2). 당신은 사용자가 텍스트 상자에 값을 입력하기 전에이 액세스하려고으로이 코드에서 당신은 "newForm.imagePath"또는 null 또는 빈 문자열에서 아무것도 얻을 수 없습니다

WordToHtml.Window1 newForm = new WordToHtml.Window1(); 
    newForm.Show(); 
    return newForm.imagePath; 

스 니펫.

3). "SomeForm.Show()"메서드를 사용하면 모달 대화 상자가 아닌 새로운 양식이 열리 며 사용자는 여전히 "MainWindow"의 포커스를 얻거나 버튼을 클릭하여 새 Window1을 엽니 다. 부모 창을 닫을 때만 포커스를 반환하는 "newForm.ShowDialog()"창을 사용하는 것이 좋습니다.

4). 당신은 새로운 형태의 참조를 가져

newForm.Closing 이벤트를 사용 놈이야하고 닫기 전에 당신은 텍스트 상자 컨트롤

string imagePath = (newForm.FindName("nameOfTextBox") as TextBox).Content.ToString(); 

을 찾아 MainWindow를에서 ImagePath를 얻을 수 있습니다.

관련 문제