我想在我的应用程序中使用 Dispatcher 但这不运行我的代码在这里
private void LoadPage()
{
Dispatcher.BeginInvoke(() =>
{
TextBlock temp = new TextBlock();
temp.TextWrapping = TextWrapping.Wrap;
temp.TextAlignment = TextAlignment.Right;
temp.FontSize = 32;
temp.Text = "";
for (int i = 0; i < word.Length; i++)
{
temp.Text = temp.Text + " " + word[i];
temp.UpdateLayout();
temp.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
if (temp.ActualHeight < 600)
text = text + " " + word[i];
else
{
pages.Add(text);
temp.Text = "";
text = "";
}
}
if (text != "")
pages.Add(text);
});
}
为了运行这个我使用这个代码
Thread t = new Thread(new ThreadStart(LoadPage));
t.Start();
while (pages.Count == 0)
{
if (!t.IsAlive)
break;
}
但总是在 while 循环第二次中断但没有 Thread 和 Dispatcher 后,我的应用程序运行良好,并且在我出错的地方没有任何问题?我不知道 :(