簡體   English   中英

如何通過if-else條件更改WPF窗口的不透明度?

[英]How to change Opacity of WPF window via if-else condition?

我正在使用wpf和c#開發游戲。 我有這樣的計時器:

    public void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    DispatcherTimer rt = new DispatcherTimer();
    rt.Tick += new EventHandler(rt_tick);
    rt.Interval = new TimeSpan(0, 0, 1);
    rt.Start();
}

現在,我將時間設置為20秒,我希望經過20秒后,layoutroot應該淡入(不透明度70%),我嘗試了這個但給出了錯誤,好像是“ public double Opacity {get; set;}”可以被稱為內部。

int i = 120;

        private void rt_tick(object sender, EventArgs e) //round timer
        {
           if(i!=0)
           {
               i--;
               txbTime.Text = "";
               txbTime.Text = Convert.ToString(i) + "s";
           }
           else 
           {  //note*

              public double Opacity
              {
                 get
                    { 
                      return this.Opacity;
                    }
                 set
                    {
                      this.Opacity = 0.7;
                    }
              }
           }                
        }

注意*-在此給我錯誤“”預期”。

您在方法內部聲明了一個屬性,該屬性是無效的C#語法。 您可以簡單地在方法內部設置值:

private void rt_tick(object sender, EventArgs e) //round timer
{
   if(i!=0)
   {
       i--;
       txbTime.Text = "";
       txbTime.Text = Convert.ToString(i) + "s";
   }
   else 
   { 
        this.Opacity = 0.7;
   }                
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM