2012-06-18 1 views
1

에서 텍스트 상자를 업데이트합니다. 현재, 내 솔루션으로 해킹의 비트 :나는 소스와 대상 폴더 경로를 지시하는 내 WPF의 applciation에 FolderBrowserDialog를 사용하기 위해 노력하고있어 어떻게 FolderBrowserDialog

// Opens the FolderBrowserDialog and gets the result. 
var dialog = new System.Windows.Forms.FolderBrowserDialog(); 
System.Windows.Forms.DialogResult result = dialog.ShowDialog(); 

// Updates the TextBox with the chosen folder path. 
srcPathTextBox.Text = dialog.SelectedPath; 

을하지만, 나는 여전히 WPF 상당히 새로운 오전부터 어려운 것으로 증명 더 우아한 해결책을 알아 내려고 노력하고 있어요. 데이터 바인딩은 WPF에서 UI 요소를 자동으로 업데이트하는 일반적인 방법이지만 폴더 경로는 대화 상자에서 선택되므로 데이터 바인딩이 가능한지 여부를 알 수 없습니다.

도움을 주시면 감사하겠습니다.

+1

는 텍스트 상자를 업데이트하기 전에 ['DialogResult'] (http://msdn.microsoft.com/en-us/library/system.windows.forms.dialogresult.aspx)의 값을 확인하는 것을 잊지 마십시오. – saluce

답변

2

당신은 당신의 ViewModel의 공용 문자열로 SelectedPath 변수에서 반환 된 값을 당신의 ViewModel에에서 INotifyPropertyChanged를 구현하고 할당해야합니다. 그러나 문자열 setter에서 PropertyChanged 이벤트를 발생 시키면 UI가 텍스트 상자를 업데이트합니다. 뷰의 데이터 소스를 뷰 모델로 설정해야하지만이 모든 내용은 MVVM 디자인 및 WPF의 수많은 기사에서 설명합니다.

+0

이것은 귀하의 대답 OP입니다. – blockloop

+0

감사합니다, 이것이 올바른 방향으로 나를 도와 주어야합니다. 현재 MVVM 패턴을 응용 프로그램과 함께 구현하고 있지는 않지만 일부 내용을 읽었습니다. – Casey