我在这里请求关于C#,特别是WPF的一些帮助。 :d
我有一个WPF项目,我需要从另一个类更新进度条的值。进度条在'NdWindow'类中,我需要从'Automator'类更新它的值。
我已经尝试了一些东西,但没有任何对我有用。
在'NdWindow'课程中:
public partial class NdWindow : Window
{
public NdWindow()
{
InitializeComponent();
}
public NdWindow(int progress)
{
InitializeComponent();
setprogress(progress);
}
public void setprogress(int progress)
{
this.progressBar.Value = progress;
MessageBox.Show(Convert.ToString(progress));
}
在“Automator”课程中:
public static void post()
{
NdWindow test = new NdWindow();
test.setprogress(10);
}
如果我运行程序,MessageBox会弹出并显示我在setprogress()中发送的值。 我也尝试在构造函数中发送值,但它没有帮助。
如果可以,请帮助我。 :d
谢谢!
PS:通过点击按钮执行'post'功能。我这里没有写过那段代码。我希望这对你来说不是问题。 : - )
答案 0 :(得分:3)
在您创建新post
的{{1}}方法中,女巫不是您想要更改进度条值的窗口。
你应该以某种方式在NdWindow
课程中获得NdWindow
。
Automator
或者您可以将NdWindow发送到public class Automator
{
private NdWindow ndWindow;
public Automator(NdWindow ndwindow)
{
this.ndWindow = ndwindow;
}
public void Post()
{
ndWindow.setprogress(10);
}
}
public partial class NdWindow : Window
{
private Automator automator;
public NdWindow()
{
InitializeComponent();
this.automator = new Automator(this);
}
private void button1_Click(object sender, RoutedEventArgs e)
{
Automator.Post();
}
}
方法
post