Я знаю, что этот вопрос задавался несколько раз, и я потратил целый день, пытаясь понять другие ответы, но, поскольку я очень плохо знаком с C # и WPF, мне пока ничего не помогло. Я постараюсь как можно точнее объяснить свою проблему, чтобы она мне напрямую помогла.
В моем MainWindow.xaml у меня есть индикатор выполнения и какая-то кнопка, запускающая новый поток и длинный расчет:
<ProgressBar Height="....... Name="progressBar1"/>
<Button Content="Button" Name="button1" Click="button1_Click" />
Теперь внутри моего MainWindow.xaml.cs:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
Thread thread = new Thread(new ParameterizedThreadStart(MyLongCalculation));
ParameterClass myParameters = new ParameterClass();
thread.Start(myParameters);
}
public void MyLongCalculations(object myvalues)
{
ParameterClass values = (ParameterClass)myvalues;
//some calculations
}
}
public class ParameterClass
{
//public variables...
}
Теперь каким-то образом мне нужно включить что-то в мой метод MyLongCalculations, который будет постоянно обновляться progressBar1
. Тем не менее, я просто не могу заставить его работать.
Я знаю, что все это очень просто, но, к сожалению, это тот уровень, на котором я сейчас нахожусь с C #, поэтому я надеюсь, что ответ не слишком сложный и настолько подробный, насколько это возможно, было бы здорово.