1

我有一个带有枚举属性的 WPF DataGrid UserControl。

    public List<myEnum> dataList = new List<myEnum>();
    public enum myEnum
    {

        Info,
        Error,
        Warning,
        Debug,
        Success
    }

我想将此属性公开给将托管用户控件的 MainWindow。这样我就可以在代码中访问它,例如..

        dataGrid1.dataList.Add(logDataGrid1.myEnum.Info);
        dataGrid1.dataList.Add(logDataGrid1.myEnum.Warning);
        dataGrid1.dataList.Add(logDataGrid1.myEnum.Success);

请指教。或者是否有可用的替代解决方案?

4

3 回答 3

0

使用Enum.GetValues

    IEnumerable<myEnum> list = Enum.GetValues(typeof(myEnum))
                                .OfType<myEnum>()
                                .ToList();

不要命名您的枚举类型,它与“System.Type”冲突。

于 2012-08-11T10:40:34.480 回答
0

用这个

public enum mytype 
{

    Info,
    Error,
    Warning,
    Debug,
    Success
}

public List<mytype> lst = Enum.GetValues(typeof(mytype))
                              .Cast<mytype>().ToList();
于 2012-08-11T10:51:18.557 回答
0

谢谢大家的回答!我找到了答案。

您的用户控件中的公共枚举可以通过Namespace.Class.PublicEnumName访问

例如) WpfControlLibrary1.UserDataGrid.myEnum.Info

于 2012-08-12T09:30:07.123 回答