アプリで 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 ループからの 2 回目のブレーク後は常に、Thread と Dispatcher がなければ、アプリは正常に動作し、間違いを犯しても問題はありませんか? わからない :(