C# WPF绑定:属性与变量

C# WPF绑定:属性与变量,c#,wpf,binding,C#,Wpf,Binding,我已经将一个公共属性转换为公共变量,以使代码更简单,现在组合框的绑定机制无法工作。我不能用变量代替属性吗 工作代码:作为属性 internal class Utility { #region ReportOf public enum ReportOf { Choose, All, Group, Person } private static Dictionary<Rep

我已经将一个公共属性转换为公共变量,以使代码更简单,现在组合框的绑定机制无法工作。我不能用变量代替属性吗

工作代码:作为属性

    internal class Utility
    {
        #region ReportOf
        public enum ReportOf
        {
            Choose, All, Group, Person
        }

        private static Dictionary<ReportOf, string> _dictReportOf;
        public static Dictionary<ReportOf, string> ReportOfCollection
        {
            get { return _dictReportOf; }
        }
        #endregion ReportOf


        static Utility()
        {
            //initialize the collection with user friendly strings for each enum
            _dictReportOf = new Dictionary<ReportOf, string>(){
                {ReportOf.Choose, "Lütfen seçiniz..."},        
                {ReportOf.All, "Herkes"},
                {ReportOf.Group, "Grup"},
                {ReportOf.Person, "Şahıs"}};

        }
    }
内部类实用程序
{
#地区报告
公共枚举报告
{
选择、全部、组、个人
}
私有静态字典(private static Dictionary);;
集合的公共静态字典报告
{
获取{return}
}
#末端区域报告
静态实用程序()
{
//为每个枚举使用用户友好的字符串初始化集合
_dictReportOf=新字典(){
{ReportOf.Choose,“Lütfen seçinazing…”,
{ReportOf.All,“Herkes”},
{ReportOf.Group,“Grup”},
{ReportOf.Person,“Şahıs};
}
}
非工作端口:作为变量

    internal class Utility
    {
        #region ReportOf
        public enum ReportOf
        {
            Choose,
            All,
            Group,
            Person
        }

        public static Dictionary<ReportOf, string> ReportOfCollection = new Dictionary<ReportOf, string>()
        {
                {ReportOf.Choose, "Lütfen seçiniz..."},        
                {ReportOf.All, "Herkes"},
                {ReportOf.Group, "Grup"},                
                {ReportOf.Person, "Şahıs"} 
        };
        #endregion ReportOf

        static Utility()
        {
            //Nothing to do
        }
    }
内部类实用程序
{
#地区报告
公共枚举报告
{
选择,
全部的
集团,,
人
}
公共静态字典ReportOfCollection=新字典()
{
{ReportOf.Choose,“Lütfen seçinazing…”,
{ReportOf.All,“Herkes”},
{ReportOf.Group,“Grup”},
{ReportOf.Person,“Şahıs”}
};
#末端区域报告
静态实用程序()
{
//无事可做
}
}
这称为字段。
不能将数据绑定到字段

相反,您可以将字段设置为私有,并设置一个公共属性来返回它。您仍然可以使用字段初始值设定项。

这称为字段。
不能将数据绑定到字段


相反,您可以将字段设置为私有,并设置一个公共属性来返回它。您仍然可以使用字段初始值设定项。

确实,您通常不想这样做,因为您需要绑定到属性,以便它们具有触发INotifyPropertyChanged等有用内容的设置器。确实,您通常不想,因为您需要绑定到属性才能使它们具有setter,从而触发有用的内容,如INotifyPropertyChanged。