/// <summary>
/// 设置控件变灰时间后恢复可用
/// </summary>
/// <param name="contorl">控件</param>
/// <param name="time">变灰总时间(秒)</param>
/// <param name="interval">时间段显示隔断时间(秒)</param>
public static void SetContorlTimer(System.Windows.Controls.ContentControl contorl, int time, int interval = 1)
{
int nTime = time;
int nInterval = interval;
string sText = contorl.Content.ToString();
contorl.IsEnabled = false;
System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(new Action<object, EventArgs>((sender, e) =>
{
if (nTime > 0)
{
contorl.Content = string.Format("{0}({1})", sText, nTime);
contorl.IsEnabled = false;
nTime--;
}
else
{
contorl.Content = sText;
contorl.IsEnabled = true;
dispatcherTimer.Stop();
dispatcherTimer = null;
}
}));
dispatcherTimer.Interval = new TimeSpan(0, 0, nInterval);
dispatcherTimer.Start();
}
调用:
SystemAPI.SetContorlTimer(_backgroundPropertyUi.BGControl.BgPC_BtMusicApply, 3);