从其他线程中的控件获取值

时间:2013-01-03 11:44:35

标签: c# wpf multithreading invoke

如何从其他线程中的滑块控件中获取WPF应用程序的值?

设置我使用的值:

public static class ControlExtensions
    {
        public static void InvokeIfRequired(this Control control, Action action)
        {
            if (System.Threading.Thread.CurrentThread != control.Dispatcher.Thread)
                control.Dispatcher.Invoke(action);
            else
                action();
        }
        public static void InvokeIfRequired<T>(this Control control, Action<T> action, T parameter)
        {
            if (System.Threading.Thread.CurrentThread != control.Dispatcher.Thread)
                control.Dispatcher.Invoke(action, parameter);
            else
                action(parameter);
        }
    }

方法调用:

ControlExtensions.InvokeIfRequired(_mw, value => _mw.tb_w3.Text = value, godz_w3);

1 个答案:

答案 0 :(得分:3)

使用它应该有用,你只需要将值提取到变量text,而不是将其分配给我假设为Text的{​​{1}}属性

TextBox