#wpdev_jp

トライアスロン 第3種目のサンプル。このように変更するとからくりがわかると思います。

ま、ソースコード見ればわかるんですけどね。

 

//初期化処理
private void Init()
{
    count = 0;

    (rectangle1.Fill as SolidColorBrush).Color = Colors.Black;
    (rectangle2.Fill as SolidColorBrush).Color = Colors.Black;
    (rectangle3.Fill as SolidColorBrush).Color = Colors.Black;
    (rectangle4.Fill as SolidColorBrush).Color = Colors.Black;
}  

private void Rectangle_MouseLeave(object sender, MouseEventArgs e)
{
    //一度タッチしたところは Tag に記録
    ((sender as Rectangle).Fill as SolidColorBrush).Color = Colors.Red;

    //4か所タッチし終えたら1回転としてイベントを発生させる
    if (++count == 4)
        CountUp(this, EventArgs.Empty);
}

private void rectangle_MouseEnter(object sender, MouseEventArgs e)
{
    //すでにタッチ済みのパネルを触ったらもう一度初めから

    if (((sender as Rectangle).Fill as SolidColorBrush).Color == Colors.Red )
        Init();
}