2014-10-29 35 views
-1

我有5个按钮,它们通过显示忽略星期六和星期日的星期几名称来动态更改。我可以使用Button.Content在Windows Phone中实现此目的吗?Windows Phone App 7.1更改后面代码的按钮文本

现在我尝试运行它,但是当我想要转到包含这些按钮的屏幕时,它不会加载但冻结并且不会输出。

我在想什么或做错了什么?

这里是我的代码:

 DateTime datetoday = DateTime.Today; 

     for (int i = 0; i < 5;) 
     { 

      if (datetoday.DayOfWeek == DayOfWeek.Sunday || datetoday.DayOfWeek == DayOfWeek.Saturday) 
      { 
       //it's saturday of sunday 
      } 
      else 
      { 
       if (i == 0) 
       { 
        if (datetoday.DayOfWeek == DayOfWeek.Friday) 
        { 
         firstButton.Content = "Vrijdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Thursday) 
        { 
         firstButton.Content = "Donderdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Wednesday) 
        { 
         firstButton.Content = "Woensdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Tuesday) 
        { 
         firstButton.Content = "Dinsdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Monday) 
        { 
         firstButton.Content = "Maandag"; 
        } 
       } 

       if (i == 1) 
       { 
        if (datetoday.DayOfWeek == DayOfWeek.Friday) 
        { 
         secondButton.Content = "Vrijdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Thursday) 
        { 
         secondButton.Content = "Donderdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Wednesday) 
        { 
         secondButton.Content = "Woensdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Tuesday) 
        { 
         secondButton.Content = "Dinsdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Monday) 
        { 
         secondButton.Content = "Maandag"; 
        } 
       } 
       if (i == 2) 
       { 
        if (datetoday.DayOfWeek == DayOfWeek.Friday) 
        { 
         thirdButton.Content = "Vrijdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Thursday) 
        { 
         thirdButton.Content = "Donderdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Wednesday) 
        { 
         thirdButton.Content = "Woensdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Tuesday) 
        { 
         thirdButton.Content = "Dinsdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Monday) 
        { 
         thirdButton.Content = "Maandag"; 
        } 
       } 
       if (i == 3) 
       { 
        if (datetoday.DayOfWeek == DayOfWeek.Friday) 
        { 
         fourthButton.Content = "Vrijdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Thursday) 
        { 
         fourthButton.Content = "Donderdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Wednesday) 
        { 
         fourthButton.Content = "Woensdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Tuesday) 
        { 
         fourthButton.Content = "Dinsdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Monday) 
        { 
         fourthButton.Content = "Maandag"; 
        } 
       } 
       if (i == 4) 
       { 
        if (datetoday.DayOfWeek == DayOfWeek.Friday) 
        { 
         fifthButton.Content = "Vrijdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Thursday) 
        { 
         fifthButton.Content = "Donderdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Wednesday) 
        { 
         fifthButton.Content = "Woensdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Tuesday) 
        { 
         fifthButton.Content = "Dinsdag"; 
        } 
        if (datetoday.DayOfWeek == DayOfWeek.Monday) 
        { 
         fifthButton.Content = "Maandag"; 
        } 
       } 
       //currentWeek[i] = datetoday; 
       // i++; 
      } 
      // datetoday = datetoday.AddDays(1); 
     } 
    } 
} 

}

+0

BRB,thedailywtf.com – Will 2014-10-29 14:20:03

回答

0

这冻结,因为永远循环运行 - i从不增加,因为你comented出i++线。

您的代码可以大大简化。你可以达到同样具有:

var buttons = new [] {firstButton, secondButton, thirdButton, fourthButton, fifthButton}; 
var date = DateTime.Now; 
foreach (var button in buttons) 
{ 
    while(date.DayOfWeek == DayOfWeek.Sunday || date.DayOfWeek == DayOfWeek.Saturday) 
     date = date.AddDays(1); 
    button.Content = date.ToString("dddd"); 
    date = date.AddDays(1); 
} 

,或者,如果您需要在特定的语言名称,用途:

​​
+0

太谢谢你了!你应得一枚奖牌! – Dave1991NL 2014-10-29 13:35:20

相关问题