【问题标题】:WPF DataGrid User Control with Enum Property具有枚举属性的 WPF DataGrid 用户控件
【发布时间】:2012-08-12 17:30:07
【问题描述】:

我有一个带有枚举属性的 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);

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

【问题讨论】:

    标签: c# c#-4.0 wpfdatagrid


    【解决方案1】:

    使用Enum.GetValues:

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

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

    【讨论】:

    • 感谢您的回答。但我想访问枚举以访问将使用用户控件的代码,而不是在用户控件代码中。
    【解决方案2】:

    使用这个

    public enum mytype 
    {
    
        Info,
        Error,
        Warning,
        Debug,
        Success
    }
    
    public List<mytype> lst = Enum.GetValues(typeof(mytype))
                                  .Cast<mytype>().ToList();
    

    【讨论】:

      【解决方案3】:

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

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

      访问

      前) WpfControlLibrary1.UserDataGrid.myEnum.Info

      【讨论】:

        猜你喜欢
        • 2015-07-20
        • 2019-09-17
        • 2010-12-22
        • 2013-12-05
        • 1970-01-01
        • 1970-01-01
        • 2014-10-09
        • 2014-07-21
        • 2015-04-18
        相关资源
        最近更新 更多