У меня небольшое приложение WPF. Это приложение имеет кнопку, которая при нажатии должна изменить текст и быть отключена. Код для моего обработчика событий кнопки следующий:
/// <summary>
/// 'Read' button clicked
/// </summary>
/// <param name="sender"></param>
/// <param name="routedEventArgs"></param>
private void ReadVersionNumber(object sender, RoutedEventArgs routedEventArgs)
{
Read.Content = "Reading....";
Read.IsEnabled = false;
SerialPort p = new SerialPort();
string response = "Could not read version";
try
{
// Do some stuff
}
catch (Exception)
{
response = "There was an error while reading the version number";
}
finally
{
Read.IsEnabled = true;
Read.Content = "Read";
if(p.IsOpen)
{
p.Close();
}
}
Version.Text = response;
}
Проблема в том, что текст моей кнопки никогда не изменяется и не отключается. Я пытался вызвать UpdateLayout после установки свойств кнопки, но он все еще не меняется. Кнопка блокируется во время выполнения метода, а затем обновляет свой макет только в конце метода. Что мне нужно сделать, чтобы обновить макет?