Wpf 穿入窗户

Wpf 穿入窗户,wpf,Wpf,这是我的密码 public partial class MainWindow : Window { Thread ProgressThread; Window w; public MainWindow() { InitializeComponent(); } private void button1_Click(object sender, RoutedEventArgs e) { ProgressThre

这是我的密码

public partial class MainWindow : Window
{
    Thread ProgressThread;
    Window w;
    public MainWindow()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        ProgressThread = new Thread(() =>
        {
            w = new Window();
            RoundProgressBar objprogress=new RoundProgressBar();
            w = new Window();
            w.Margin = new Thickness(0, 0, 50, 0);
            w.WindowState = WindowState.Normal;
            w.WindowStartupLocation = WindowStartupLocation.CenterOwner;
            w.Height = 80;
            w.Width = 80;
            w.ResizeMode = ResizeMode.NoResize;
            w.AllowsTransparency = true;
            w.WindowStyle = WindowStyle.None;
            RoundProgressBar Progress = new RoundProgressBar();
            w.Content = objprogress;
            w.ShowInTaskbar = false;
            w.ShowDialog();
            w.Content = Progress;
            w.ShowInTaskbar = false;
            w.ShowDialog();

            w.Closed += (sender2, e2) =>
            w.Dispatcher.InvokeShutdown();

            System.Windows.Threading.Dispatcher.Run();
        });

        ProgressThread.SetApartmentState(ApartmentState.STA);
        ProgressThread.Start();
    }
}
当我点击按钮时,线程启动屏幕中间的进度条。当我更改主屏幕时,进度条窗口不会更改

我想在窗口中间显示进度条。如果我搬到任何地方

w、 所有者=此

我知道在这段代码的帮助下,这将非常好地工作。但是我在线程中工作,所以发生了这个错误

“调用线程无法访问此对象,因为其他线程拥有它”


请帮助我解决此问题

UI对象位于UI线程上。您希望有一个后台线程来监控进度,但是如果您想在UI上更新任何内容,则需要再次将其分派回UI线程

大致如下:

private void button1_Click(object sender, RoutedEventArgs e) {
    Task t = Task.Factory.StartNew(UpdateUI);
}

private void UpdateUI() {
   Dispatcher.Invoke(
      new Action(() => { 
          textBox1.Text = "Henk"; 
          // etc etc, this would be your normal code
      })
  );
}
本文对此进行了解释:

如果可以使用,那么您应该看看示例。这就是为什么这些问题的痛苦大多消失了

你好,格特·简