0

我们制作了一个简单的控制台应用程序,它接收句子和段落并将它们转换为 Pig Latin。我知道,并不是那么有用,但它是为了练习。

现在我想把它放到一个 Windows Store 应用程序中作为一个额外的练习。我用两个文本框和一个按钮在 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;

    }
}
4

1 回答 1

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,使用文本块并将您的新属性绑定到文本属性。从视觉工作室获取示例应该可以帮助您。

于 2013-10-25T05:35:03.040 回答