Диспетчер Invoke (…) против BeginInvoke (…) путаница
я смущен, почему я могуt заставить это приложение счетчика тестов работать с 2 (или более) одновременными запуском контртекстбоксов с использованием "BeginInvoke» на моем Диспетчере в методе Count ().
Вы можете решить эту проблему, заменив BeginInvoke на Invoke. Но это нене решить мою путаницу.
Вот'Пример кода, который яЯ говорю о:
public class CounterTextBox : TextBox
{
private int _number;
public void Start()
{
(new Action(Count)).BeginInvoke(null, null);
}
private void Count()
{
while (true)
{
if (_number++ > 10000) _number = 0;
this.Dispatcher.BeginInvoke(new Action(UpdateText), System.Windows.Threading.DispatcherPriority.Background, null);
}
}
private void UpdateText()
{
this.Text = "" + _number;
}
}