Windows Phone 8.0多次更改背景

时间:2014-08-24 06:35:35

标签: windows-phone-8

我需要在一次活动中多次更改背景颜色,目前我正在做这个

LayoutRoot.Background = new SolidColorBrush( Colors.Cyan );

它改变了颜色。 但我希望它像这样

    LayoutRoot.Background = new SolidColorBrush( Colors.Cyan );
    System.Threading.Thread.Sleep(2000);
    LayoutRoot.Background = new SolidColorBrush( Colors.White );

但问题是第二段代码直接变为白色,因为执行完成时发生了变化,我希望在代码执行时完成,有什么想法吗?

1 个答案:

答案 0 :(得分:0)

int state;

// Constructor
public MainPage()
{
    state = 0;

    // create our dispatch timer
    DispatcherTimer timer;
    timer = new DispatcherTimer();
    timer.Interval = TimeSpan.FromMilliseconds(2000);
    timer.Tick += OnTimerTick;
    timer.Start();
    // timer.Stop();   // call this to stop
}

// if the timer is on, cycle the color
private void OnTimerTick(object sender, EventArgs e)
{
    try
    {
        if(state == 0){
           LayoutRoot.Background = new SolidColorBrush( Colors.Cyan );
           state = 1;
        }
        else
        {
           LayoutRoot.Background = new SolidColorBrush( Colors.White );
           state = 0;
        }
    }
    catch (Exception ex)
    {
        string error_message = ex.Message;
    }            
}