0
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ストアアプリが黒くなり、動作しなくなりますか?

4

3 に答える 3

1

問題は論理的です。解決:

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

Blend を使用して、アニメーションやストーリーボードなどで状態を作成することもできます

于 2015-09-03T12:17:40.523 に答える
-1

Task.Delay()呼び出しを次のように置き換えてみてください。

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

どうやら、あなたがやろうとしていることにとって、実際には最も素晴らしいことでTask.Delay()はありません。

于 2012-07-20T18:16:31.707 に答える