将键和HashTable(System.Collection)的值映射到自定义属性

时间:2015-09-29 14:21:57

标签: c# wpf data-binding mapping

我有一个HashTable(System.Collection)和一个自定义属性。

“_sendToDb”的默认值应该为false,我稍后会在我的wpf程序的Grid中更改它。

这就是我所拥有的:

我的哈希表:

Hashtable hsh = new Hashtable();

我的财产:

public class ImagesFromFS : INotifyPropertyChanged
{

    string _value;
    string _path;
    bool _sendToDb;

   ...

    public string Path
    {
        get
        {
            return _path;
        }

        set
        {
            _path = value;
            onPropertyChanged();
        }
    }


    public bool SendToDb
    {
        get
        {
            return _sendToDb;
        }

        set
        {
            onPropertyChanged();
            _sendToDb = value;
        }
    }

    public string Value
    {
        get
        {
            return _value;
        }

        set
        {
            _value = value;
        }
    }
}

最终目标应该是将我新创建的属性绑定到gridView。

1 个答案:

答案 0 :(得分:0)

您应该为此目的使用转换器。哪个返回路径根据传递给它的值。

以下是基本转换器的演示,根据您的需要对其进行修改。它有两种方法Convert或ConvertBack。希望它会有所帮助。 :)

public class StatusConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        switch ((int)value)
        {
            case 1:
                return "Raised";
            case 2:
                return "Work in Progress";
            case 3:
                return "Resolved";
            case 4:
                return "Closed";
            default:
                return "undefined";
        }
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        switch (value.ToString())
        {
            case "Raised":
                return 1;
            case "Work in Progress":
                return 2;
            case "Resolved":
                return 3;
            case "Closed":
                return 4;
            default: 
                return 0;
        }
    }
}