1
我正在嘗試訪問我的字典的值的複雜對象的字符串屬性。關鍵是我班的財產。WPF在綁定字典中綁定
<DataGridTextColumn Binding="{Binding Path=MyDictionary[{Binding MyClassProp}].MyObjValue}"/>
綁定內的綁定不起作用,因爲它是無效的XAML。有沒有另一種方法來做到這一點?
我正在嘗試訪問我的字典的值的複雜對象的字符串屬性。關鍵是我班的財產。WPF在綁定字典中綁定
<DataGridTextColumn Binding="{Binding Path=MyDictionary[{Binding MyClassProp}].MyObjValue}"/>
綁定內的綁定不起作用,因爲它是無效的XAML。有沒有另一種方法來做到這一點?
是的,雙Binding
將無法正常工作。我一直沒能對此進行測試,但是,也許你可以做這樣的事情:
有你的類實現INotifyPropertyChanged
:
public event PropertyChangedEventHandler PropertyChanged;
protected void Notify(string propName)
{
if (this.PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propName));
}
當您MyClassProp
屬性更改:
private string _MyClassProp;
public string MyClassProp
{
get { return _MyClassProp; }
set
{
_MyClassProp = value;
MyDictValue = MyDictionary[MyClassProp].MyObjValue;
Notify("MyClassProp");
}
}
公告當MyClassProp
發生更改時,可以使用字典的值設置另一個屬性。然後定義屬性的結合使用:
private string _MyDictValue;
public string MyDictValue
{
get { return _MyDictValue; }
set
{
_MyDictValue = value;
Notify("MyDictValue");
}
}
,然後改變你的XAML綁定到:
<DataGridTextColumn Binding="{Binding MyDictValue}"/>