如何将简单的 C# 控制台应用移植到 Windows 应用商店应用 (XAML) 中

本文关键字:应用 Windows XAML 简单 控制台 | 更新日期: 2023-09-27 18:36:58

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

现在,我想将其作为附加练习放入 Windows 应用商店应用中。我用两个文本框和一个按钮在 VS 中模拟了设计,但我不确定如何"装备"这一切。

这是腐烂:

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;
    }
}

如何将简单的 C# 控制台应用移植到 Windows 应用商店应用 (XAML) 中

如果您使用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,请使用文本块并将新属性绑定到文本属性。 从Visual Studio获取示例应该可以帮助您。