【问题标题】:How to update a TextBox from a FolderBrowserDialog如何从 FolderBrowserDialog 更新文本框
【发布时间】:2012-06-18 13:28:27
【问题描述】:

我试图在我的 WPF 应用程序中使用 FolderBrowserDialog 来指示源和目标文件夹路径。目前,我有一个 hack 作为我的解决方案:

// 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 元素的流行方法,但由于文件夹路径是从对话框中选择的,我不知道数据绑定是否可行。

任何帮助将不胜感激。

【问题讨论】:

  • 在更新 TextBox 之前不要忘记检查 DialogResult 的值。

标签: c# wpf folderbrowserdialog


【解决方案1】:

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

【讨论】:

  • 谢谢,这应该有助于引导我朝着正确的方向前进。我目前没有在我的应用程序中实现 MVVM 模式,但我一直在阅读它。
猜你喜欢
  • 2013-02-02
  • 2013-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-26
  • 1970-01-01
相关资源
最近更新 更多