2012-03-26 5 views
2

Microsoft.Win32.SaveFileDialog 클래스를 사용하여 파일을 저장하고 있습니다. 파일을 저장하고 앱을 최소화 할 때 다시 복원 할 수 없습니다. Microsoft.Win32.SaveFileDialog을 사용한 후에 만 ​​발생합니다. 다음은 코드입니다.WPF의 SaveFileDialog 버그

Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog(); 
dlg.FileName = String.Format("{0} {1} {2}", ev["b"], ev["a"], ev["c"]); 
dlg.DefaultExt = ".csv"; 
dlg.Filter = "Supported format (.csv)|*.csv"; 
Nullable<bool> result = dlg.ShowDialog(); 
if (result == true) 
{ 
    string s = dlg.FileName; 
    //other code 
} 

파일 저장이 성공적이지만 파일을 최소화하는 방법을 모르겠습니다. 아무도 그게 뭔지 알 수 있니?

+1

믿을 수 없습니다 ... –

+1

'// 다른 코드 '뒤에 무엇이 있습니까? –

+0

아마도 FileOK 이벤트에 연결되어 거기에서 오류를 잡을 수 있습니다. 그냥 도달. – Paparazzi

답변

3

부모 창이없는 대화 상자를 표시 할 때 WPF에는 모든 종류의 이상한 형식 문제가 있습니다. 이 직접 SaveFileDialog 함께 보지 못했지만 다른 대화 상자와 비슷한 동작을 보았습니다. 부모 창에서 전달하는 .ShowDialog()의 오버로드를 사용해보십시오.

+0

'부모 윈도우에서 전달하는 .ShowDialog()의 오버로드를 사용해보십시오 .'라고 할 수 있습니다. WinForms에서 동일한 문제와 해결책을 가지고있었습니다. –

+0

감사합니다. –

1

WPF 및 Win32 SaveFileDialog/OpenFileDialog에서 이상한 형식 문제가 발생했습니다.

는 무엇 일 :

가 모달 상태가 위반
  • /완전히 분실 및 OpenFileDialog를가 ShowDialog를()

이 일어날 않습니다 연 상태에서 메인 창을 클릭 할 수 있습니다

OpenFileDialog를하기 전에 실행중인 작업이 있었다
  • 디버거 BR 열립니다 오버로드 ShowDialog(Window owner) 기능이 문제를 해결 사용

    private void Button_Click(object sender, RoutedEventArgs e) 
        { // <-- Breakpoint sits here 
    
         Task.Run(() => {}).Wait(); 
    
         new Microsoft.Win32.OpenFileDialog().ShowDialog(); 
        } 
    

    : 작업을

을 실행하기 전에 중단 점에 eaks는 그냥 버튼 클릭 이벤트와 간단한 WPF 응용 프로그램을 만듭니다.