如何将简单的c#控制台应用程序移植到Windows应用商店应用(XAML)?

时间:2013-10-25 04:17:08

标签: c# xaml windows-store-apps console-application

我们创建了一个简单的控制台应用程序,它将句子和段落转换为Pig Latin。我知道,并非所有这些都有用,但这是为了练习。

现在我想把它作为一个额外的练习放入Windows应用商店应用程序中。我用两个文本框和一个按钮模拟了VS中的设计,但我不确定如何“装备”它。

这是odecay:

public static class Program
{
    public static void Main(string[] args)
    {
        Console.Write("Enter your text: ");

        var text = "";
        text = Console.ReadLine();
        piglatinize(text);

    }

    public static string piglatinize(string text)
    {

        string[] words = text.Split(' ');
        string result = string.Empty;

        foreach (string word in words)
        {
            char first = word[0];
            string rest = word.Length > 1 ? word.Substring(1) : string.Empty;

            switch (word[word.Length - 1])
            {
                case '?':
                case '!':
                case '.':
                case ',':
                case '\'':
                case ':':
                case ';':

                    result += rest.Substring(0, (rest.Length - 1)) + first + "ay" + word[word.Length - 1] + " ";
                    break;
                default:
                    result += rest + first + "ay ";
                    break;
            }
        }

        Console.WriteLine("Here is your Pig Latin:");
        Console.WriteLine(result);

        return result;

    }
}

1 个答案:

答案 0 :(得分:0)

如果您正在使用Visual Studio,那么最简单的方法就是抓住其中一个模板示例并从那里开始。

您需要一个实现iNotifyPropertyChanged的课程。

你的课可能看起来很简单:

public class PigLatinConverter : INotifyPropertyChanged
{
    private string _originalText;

    public string OriginalText
    {
        get { return _originalText; }
        set 
        {
            _originalText = value;
            OnPropertyChanged("OriginalText");
        }
    }

    private string _piglatinizedText;

    public string PiglatinizedText
    {
        get { return _piglatinizedText; }
        set
        {
            _piglatinizedText = value;
            OnPropertyChanged("PiglatinizedText");
        }
    }

    public void ConvertOriginalText()  //your button calls this
    {
        //your pig latin logic here

        // set _piglatinizedText to your output
    }

    public event PropertyChangedEventHandler PropertyChanged;
    protected void OnPropertyChanged(string name)
    {
        PropertyChangedEventHandler handler = PropertyChanged;
        if (handler != null)
        {
            handler(this, new PropertyChangedEventArgs(name));
        }
    }
}

对于XAML,请使用文本块并将新属性绑定到文本属性。抓住视觉工作室的例子可以帮助你。