2015-09-29 2 views
-1

У меня есть HashTable (System.Collection) и настраиваемое свойство.Сопоставьте ключ и значение HashTable (System.Collection) с настраиваемым свойством

Значение по умолчанию «_sendToDb» должно быть ложным, я изменил его позже в гриде моей wpf-программы.

Это то, что у меня есть:

Мой Hashtable:

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.

+0

Непонимающий вопрос. Что вы вкладываете в Hashtable? И почему вы ссылаетесь на Hashtable, в которой есть оба ключа и значения? (они имеют только значения). –

+0

Вы должны использовать 'Dictionary', а не' HashTable' с 2006 года, когда вышел .NET 2.0. – Servy

+1

@ Атомы Нет, у них есть как ключи, так и значения. – Servy

ответ

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; 
     } 
    } 
} 
Смежные вопросы