如何从FolderBrowserDialog更新TextBox

时间:2012-06-18 13:28:27

标签: c# wpf folderbrowserdialog

我尝试在WPF应用程序中使用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 个答案:

答案 0 :(得分:2)

您需要在viewmodel上实现INotifyPropertyChanged,然后将SelectedPath变量返回的值分配给viewmodel上的公共字符串。但是,从字符串设置器中提升PropertyChanged事件,UI将更新文本框。您需要将视图的数据源设置为视图模型,但所有这些都在关于MVVM设计和WPF的无数文章中进行了解释。