私は問題があります。Canvas:canvas1の内側にあるEllipse:ellipse1があります。ellipse1をクリックすると、塗りつぶしがWhiteからPaleVioletRedに変わります。canvas1の別の部分をクリックすると、楕円がそこに移動します。これは機能します。
ellipse1をもう一度クリックしても、塗りつぶしの色は変わりません。
どうしたの?...
ellipse1用のこのXAMLコードがあります。
<Ellipse Height="35" HorizontalAlignment="Left" Name="ellipse1" Stroke="Black" VerticalAlignment="Top" Width="70" Fill="White" StrokeThickness="3" Canvas.Left="71" Canvas.Top="70" MouseDown="pion_alb1_md"/>
これはC#の部分です:
private void pion_alb1_md(object sender, EventArgs e)
{
if (ellipse1.Fill == Brushes.White)
{
ellipse1.Fill = Brushes.PaleVioletRed;
}
else
{
ellipse1.Fill = Brushes.White;
}
}
これはcanvas1のXAMLコードです。
<Canvas Name="piese_canvas" MouseDown="mouse_down_canvas_piese" Background="#43FCFFEB">
.......
</Canvas>
...そしてこれがcanvas1のC#部分です:
private void mouse_down_canvas_piese(object sender, EventArgs e)
{
if (ellipse1.Fill == Brushes.PaleVioletRed)
{
Point c = Mouse.GetPosition(piese_canvas);
if ((c.X > 81) && (c.Y < 311) && (c.X <160) && (c.Y >191))
{
Canvas.SetLeft(ellipse1, 72);
Canvas.SetTop(ellipse1, 241);
ellipse1.Fill = Brushes.White;
Canvas.SetLeft(ellipse5, -12);
Canvas.SetTop(ellipse5, 241);
}
}
}