如何在XAML中显示我的枚举?

时间:2011-08-25 23:41:47

标签: c# wpf

这是我自定义的textBox:

public class TextBoxInputNumbers : TextBox
{
    Regex regex;
    public enum DatatypesInput
    {
        Integer, Decimals
    }

    public TextBoxInputNumbers()
    {
        DatatypeInput = DatatypesInput.Integer;
    }

    public DatatypesInput DatatypeInput
    {
        set
        {
            switch (value)
            {
                case DatatypesInput.Integer:
                    regex = new Regex("[^0-9.-]+");
                    break;
                case DatatypesInput.Decimals:
                    regex = new Regex("[^0-9-]+");
                    break;
            }
        }
    }

    protected override void OnPreviewTextInput(System.Windows.Input.TextCompositionEventArgs e)
    {
        e.Handled = regex.IsMatch(e.Text);
    }
}

我想在XAML中显示属性DatatypeInput,但是它们无法识别枚举中的任何元素。

1 个答案:

答案 0 :(得分:1)

您可以使用Enum.GetName()方法将enun名称转换为字符串:

    get
    {
        return Enum.GetName(typeof(DatatypesInput), value);
    }

然后绑定到XAML中的该值。

这是你在找什么?使用Enum.GetNames()需要所有有效名称的列表。