使用带有自定义类的C#设置

本文关键字:设置 自定义 | 更新日期: 2023-09-27 18:00:34

我正试图定义一个由我自己创建的带有类型的设置,但我似乎在设置UI中的类型组合框中找不到我的类(也在通过在组合框中选择"浏览"启动的"浏览"窗体中找不到此类)。

如何在设置中使用自定义类?

我的班级:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using Key = System.Windows.Input.Key;
namespace GameOfLife
{
    [Serializable()]
    class KeyShortCut
    {
        [XmlElement("Key")]
        public Key Key { get; private set; }
        [XmlAttribute("Ctrl")]
        public bool Ctrl { get; private set; }
        [XmlAttribute("Alt")]
        public bool Alt { get; private set; }
        [XmlAttribute("Shift")]
        public bool Shift { get; private set; }
        public KeyShortCut(Key Key, bool Ctrl = false, bool Alt = false, bool Shift = false)
        {
            this.Key = Key;
            this.Ctrl = Ctrl;
            this.Alt = Alt;
            this.Shift = Shift;
        }
        public override string ToString()
        {
            StringBuilder str = new StringBuilder(this.Key.ToString());
            if (Ctrl)
                str.Insert(0, "Ctrl + ");
            if (Alt)
                str.Insert(0, "Alt + ");
            if (Shift)
                str.Insert(0, "Shift + ");
            return str.ToString();
        }
    }
}

使用带有自定义类的C#设置

尝试使用IXmlSerializable而不是Serializable,因为它只定义二进制可序列化性或读取THIS问题/答案。