0

我是 WPF 新手,正在尝试使用 VC# Express 制作我的第一个 WPF 桌面应用程序。

如果用户选择一个文件,我试图让三个打开的​​文件对话框完成,其中包含显示指定路径的文本字段。我找到了使对话框在单击按钮时出现的工作代码,但是如何获取文本字段以更新/绑定到文件路径?

类似于 HTML 中的文件输入框的工作方式是理想的。

...

编辑:

好的,我阅读了我下面的帖子并找到了解决方案...

现在,如何将控制台输出重定向到文本字段?

4

2 回答 2

1

要回答有关重定向控制台输出的问题:

您最好更改代码以使用您希望输出的字符串触发事件。然后在 UI 中为该事件添加一个处理程序,并在处理程序中更新文本字段。

要声明事件,请在处理类中添加类似以下代码:

public event EventHandler<StringEventArgs> Process_Message;

whereStringEventArgs是一个基于该类的类,EventArgs它包装了要发送的消息。

要触发事件,请在您的处理类中添加类似以下代码:

Process_Message(this, new StringEventArgs(message));

在 UI 类中附加消息处理程序:

process.Process_Message += Process_Message;

要处理该事件,请将类似以下代码的内容添加到您的 UI 类中:

private void Process_Message(object sender, StringEventArgs e)
{
     Action action = () => UpdateStatus(e.Message);
     {
         Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, action);
     }
     else
     {
            action();
     }         
}

您需要进行线程测试,因为 UI 无法从不同的线程更新。

然后UpdateStatus方法:

private void UpdateStatus(string message)
{
    statusTextBox.Text = message;
}

显然,您需要重命名内容以适合您的应用程序。

EventArgs在 MSDN 中查找事件。

于 2009-05-06T13:05:28.450 回答
0

如果我理解正确,请使用 FileDialog.FileName 到完整路径..并将其绑定到您的文本框。76梅尔

于 2009-05-06T12:47:09.883 回答