2013-04-05 6 views
1

Можно ли связать на Key в пользовательском классе, например, с помощью Dictionary?Связывание с ключом с пользовательским классом

я могу связать с Dictionary с этим обязательным:

"Binding MyDictionary[MyKey]" 

Но я не хочу, чтобы использовать Dictionary но пользовательский класс как это:

public class DataGridField : INotifyPropertyChanged 
{ 
    [Required] 
    [Key] 
    public string Key { get; set; } 

    private object value; 
    public object Value 
    { 
     get 
     { 
      return this.value; 
     } 
     set 
     { 
      this.value = value; 
      this.OnPropertyChanged("Value"); 
     } 
    } 
} 

Теперь я хочу получить доступ объекты этого класса в пределах ObservableCollection таким же образом я делаю это с Dictionary. Есть ли способ достичь этого?

ответ

4

Вы можете, но вы должны реализовать indexer property:

public class DataGridField 
{ 
    public string this[string index] 
    { 
     get { return this.Key; } 
     set 
     { 
      this.Key = index; 
     } 
    } 
} 

Edit:

Но если вы заинтересованы в том, словарь с реализацией INotifyProperty/CollectionChange, вы можете использовать ObservableDictionary

+0

свойство indexer было именно тем, что я искал! Благодаря! –

Смежные вопросы