簡體   English   中英

Windows Store應用程序中的TaskDelay

[英]TaskDelay in Windows Store App

string word = "sos";
    Dictionary<string, string> Codes = new Dictionary<string, string>
        {
            {"a", ".-   "}, {"b", "-... "}, {"c", "-.-. "}, {"d", "-..  "}, 
            {"e", ".    "}, {"f", "..-. "}, {"g", "--.  "}, {"h", ".... "},
            {"i", "..   "}, {"j", ".--- "}, {"k", "-.-  "}, {"l", ".-.. "},
            {"m", "--   "}, {"n", "-.   "}, {"o", "---  "}, {"p", ".--. "}, 
            {"q", "--.- "}, {"r", ".-.  "}, {"s", "...  "}, {"t", "-    "}, 
            {"u", "..-  "}, {"v", "...- "}, {"w", ".--  "}, {"x", "-..- "}, 
            {"y", "-.-- "}, {"z", "--.. "}, {"0", "-----"}, {"1", ".----"}, 
            {"2", "..---"}, {"3", "...--"}, {"4", "....-"}, {"5", "....."}, 
            {"6", ".----"}, {"7", "..---"}, {"8", "...--"}, {"9", "....-"}    
        };



    async public void RunMorseCode()
    {


        foreach (char c in word.ToCharArray())
        {
            string rslt = Codes[c.ToString()].Trim();
            foreach (char c2 in rslt.ToCharArray())
            {
                if (c2 == '.')
                {

                    gridHalfFront.Opacity = 0;
                     await Task.Delay(100);


                }
                else if(c2 == '-')
                {

                    gridHalfFront.Opacity = 0;
                     await Task.Delay(1000);

                }
                gridHalfFront.Opacity = 1;

            }

        }
    }

是黑色的,然后停止工作,Windows Store App,有什么想法嗎?

這個問題是合乎邏輯的。 解:

gridHalfFront.Opacity = 1;
await Task.Delay(1000);

您還可以使用Blend並使用動畫和情節提要等創建狀態

我剛剛在適用於Windows 8.1和Windows 10的Windows應用商店應用程序的Visual Studio 2015RC中進行了檢查,在兩種情況下都可以使用,但是最好將另一個Task.Delay放在代碼中,否則閃爍效果將不可見-也許這是您認為“變黑”的是什么? 我建議您在之后添加另一行

gridHalfFront.Opacity = 1;

例如在這里添加

等待Task.Delay(100);

這使得閃爍更明顯,並且應用程序感覺更“響應”。

嘗試用以下命令替換Task.Delay()調用:

new System.Threading.ManualResetEvent(false).WaitOne(milliseconds);

顯然, Task.Delay() 並不是您要執行的操作中最強大的功能

暫無
暫無

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

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