2014-04-23 6 views
0

System.InvalidOperationException이라는 오류가 발생했습니다.대화 상자를 관리 할 때 System.InvalidOperationException이 발생했습니다.

추가 정보 : 지정된 요소는 이미 다른 요소의 논리적 하위입니다. 먼저 연결을 끊으십시오.

인터넷을 통해 해결책을 찾았지만 아무도 내 문제를 해결하지 못했습니다.

"열기 대화 상자"라는 단추를 만들어 대화 상자를 엽니 다. 대화 상자를 열면 대화 상자에 "저장"및 "취소"버튼이 두 개 표시됩니다. "취소"기능은 대화 상자를 닫는 것입니다. 그러나 "취소"를 클릭 한 후 "대화 상자 열기"를 클릭하여 대화 상자를 다시 열려고 시도 할 때 위에서 설명한 오류가 발생했습니다.

본인의 이벤트 코드는 여기에 이벤트 처리 방법으로 게시됩니다. 뷰 모델에서

private void openDialogButton_Click(object sender, RoutedEventArgs e) 
     { 
      PersonIDTable.ShowDialog(); 
     } 

:

public void ShowDialog() 
     { 
      PersonID.UserControls.PersonIDDialog dialog = new PersonID.UserControls.PersonIDDialog (this); 
      dialog.Show(); 
     } 

대화 상자의 클래스에서 : MainWindow를의 클래스에서

private void CancelButton_Click(object sender, RoutedEventArgs e) 
     { 
      this.Close(); 
     } 

이 너희들은이를 해결하기 위해 어떤 생각을 가지고 문제? 귀하의 도움을 많이 주시면 감사하겠습니다.

+0

'PersonIDTable'은 (는) 당신의'ViewModel' 클래스입니까? –

+0

예, PersonIDTable은 내 ViewModel 클래스입니다. – user3481276

답변

1

질문에 대한 답을 거의 이야기 했으므로 대화 상자를 닫아서 다시 열 수 없습니다. PersonIDTable의 생성을 openDialogButton_Click 안에 삽입하면 수정해야합니다.

Form1 form = new Form1(); 
form.ShowDialog(); 

이 주석을 통해 당신을 말한 것이지만, 충분히 평판이 없습니다 : 예

.

관련 문제