Я не уверен, какую часть кода показать, чтобы объяснить мою ситуацию. Но, как указано в заголовке, после того, как окно WPF было инициализировано, и нажата кнопка createSheet, чтобы просто отобразить текст, например. Ничего не происходит, пока не произойдет другая функция.
Приведенный ниже код является событием нажатия кнопки, которое ничего не делает при вызове.
private void CreateSheetButton_Click(object sender, RoutedEventArgs e)
{
TaskDialog.Show("Me", "This is in the click event");
}
Вот фрагмент кода, который должен быть вызван до срабатывания события щелчка. Не уверен, почему это происходит.
private async void StartTask_Run()
{
var progress = new Progress<int>(value => progressBar.Value = value);
await Task.Run(() =>
{
DisableItems();
WorkSheetName = GetWorkSheetName();
StatusText("Connecting to document");
((IProgress<int>)progress).Report(5);
var sourceFile = ExcelSource.OpenExcelFile(FilePath);
StatusText("Getting Worksheet...");
((IProgress<int>)progress).Report(20);
var sourceWorkSheet = ExcelSource.GetWorkSheet(sourceFile.Item1, sourceFile.Item2, WorkSheetName); //instantiating the object.
StatusText("Getting cells count...");
((IProgress<int>)progress).Report(30);
var doc_Max = ExcelSource.GetDocRow_Col(sourceWorkSheet.Item1);
StatusText("Determining maximum cells with data...");
((IProgress<int>)progress).Report(40);
var maxRow_Col = ExcelSource.GetMaxRow_Col(sourceWorkSheet.Item1, doc_Max.Item1, doc_Max.Item2);
int maxRowCount = maxRow_Col.Item1;
int maxColCount = maxRow_Col.Item2;
StatusText("Compilling data...");
((IProgress<int>)progress).Report(60);
string[,] itemsArr = ExcelSource.GetItems(sourceWorkSheet.Item1, maxRow_Col);
StatusText("Processing information to view..");
((IProgress<int>)progress).Report(80);
Bindng2DArrayToListview2_Run_Search(listview, itemsArr, maxColCount);
EnableCreateSheetBtn();
((IProgress<int>)progress).Report(90);
StatusText("Tidying up...");
GarbageCollector(sourceWorkSheet.Item1, sourceWorkSheet.Item2, sourceWorkSheet.Item3, sourceWorkSheet.Item4);
EnableItems();
StatusText("Request Completed Successfully");
this.createSheetButton.Click += new RoutedEventHandler(CreateSheetButton_Click);
((IProgress<int>)progress).Report(100);
((IProgress<int>)progress).Report(0);
});
}
Любая помощь будет оценена.