绑定到字典并创建密钥

时间:2014-11-03 13:40:34

标签: c# wpf dictionary data-binding

我尝试将一个wpf控件绑定到一个dicionary条目,如果它不存在,它应该创建它。

这里我已经得到了(例如,不是我的真实代码):

数据对象:

public class DataObject
{
  public Dictionary<string,object> Values { get; set; }
}

VM:

public class ViewModel : NotificationObject
{
  private DataObject _myObject = new DataObject();

  public DataObject myObject 
  {
    get {return _myObject;}
    set {_myObject = value;}
  }

  public List<string> ValueList
  {
    get {return new List<string>{"Test Item 1","Test Item 2"};}
  }
}

GUI:

<CustomVars:MyTextBox x:Name="MyValue1" Text="{Binding myObject.Values[Item1]}"/>
<CustomVars:MyComboBox x:Name="MyValue2" Text="{Binding myObject.Values[Item2]}" ItemsSource="{Binding ValueList}"/>
....
<CustomControls:Item Text="{Binding ElementName=MyValue1, Path=Text}"/>
<CustomControls:Selection Text="{Binding ElementName=MyValue2, Path=Text}" Items="{Binding ElementName=MyValue2, Path=Items}"/>

具有键Item2的项目已设置但不是Item1。有人可以告诉我为什么吗?

谢谢,达蒙

1 个答案:

答案 0 :(得分:0)

我忘了将Mode=TwoWay放在CustomControls的绑定中......