Я бы хотел привязать динамические свойства к свойствам элемента управления WinForms.
В следующем примере я привязываю свойство IsAlive потока к параметру Enabled кнопки.
using System;
using System.Windows.Forms;
using System.Threading;
namespace ThreadTest
{
public partial class Form1 : Form
{
Thread thread;
public Form1()
{
InitializeComponent();
thread = new Thread(() =>
{
while (true)
Thread.Sleep(125);
}
);
button2.DataBindings.Add("Enabled", thread, "IsAlive");
}
private void buttonStart_Click(object sender, EventArgs e)
{
thread.Start();
}
private void buttonStop_Click(object sender, EventArgs e)
{
// ...
}
}
}
Это работает только при запуске. Кнопка «Стоп» отключена, потому что поток не жив. Когда я нажимаю кнопку «Пуск», я ожидаю, что кнопка «Стоп» станет активной. Но это не так.
Я что-то упустил или это просто невозможно?