したがって、私の問題は、wpfアプリケーションにエンドレススレッドを設定すると、UIがハングすることですが、もちろん、これはマルチスレッドアプリケーションに期待するものではありません。
ここに私のコードがあります
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
System.Threading.Thread thread = new System.Threading.Thread(
new System.Threading.ThreadStart(
delegate
{
Dispatcher.Invoke(DispatcherPriority.Normal,
new Action<Polyline>(ChangePoints), polyline);
}));
thread.Start();
}
private void ChangePoints(Polyline p)
{
while (true)
{
Random random = new Random();
p.Points.Clear();
for (int i = 0; i < 500; i += 10)
{
p.Points.Add(new Point(i, random.Next(1, 300)));
}
}
}
}
<Window x:Class="ClientSide.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="300" Width="500">
<Canvas x:Name="canvas" Background="#00FFFFFF">
<Polyline x:Name="polyline" Stroke="DarkGreen" StrokeThickness="3" />
</Canvas>
</Window>
ここで何が悪いのか教えてもらえますか?