Вы не объясняете, что означает "он этого не делает".Я предполагаю, что вы получаете исключение, потому что вы пытаетесь манипулировать элементом пользовательского интерфейса из неправильного потока?
Проблема в следующем коде:
task.ContinueWith(x => {
label1.Content = task.Result;
});
Вы не указываете, какойвы хотите, чтобы ваше продолжение продолжалось, чтобы оно могло работать в любом потоке.Вероятно, он будет выполняться в том же потоке, что и ваша первая задача, т. Е. В потоке пула потоков.Поскольку вам не разрешен доступ к пользовательскому интерфейсу из потока, отличного от потока, в котором он был создан, это означает, что ваше назначение label1.Content
завершится неудачей с исключением.
Исправление простое: запустите продолжение наПользовательский интерфейсИзмените приведенный выше код на это:
task.ContinueWith(x => {
label1.Content = task.Result;
}, TaskScheduler.FromCurrentSynchronizationContext());