18
控制給定類的實例ThisClassShouldBeTheDataContext作爲在DataContext的觀點你怎麼能索引屬性綁定到WPF
class ThisClassShouldBeTheDataContext
{
public Contacts Contacts {get;set;}
}
class Contacts
{
public IEnumerable<Person> Persons {get;set;}
public Person this[string Name]
{
get
{
var p = from i in Persons where i.Name = Name select i;
return p.First();
}
}
}
class Person
{
public string Name {get;set;}
public string PhoneNumber {get;set;}
}
我如何綁定Contact["John"].PhoneNumber
到一個文本框?
<TextBox Text="{Binding ?????}" />
如果我的指數是不是一個字符串,或者它從VM的其他財產的,說{結合聯繫人[ThisIsAnotherPropertyFromTheVm] .PhoneNumber }。我怎樣才能做到這一點? – Lance 2009-11-13 10:30:49
在我開始使用WPF時,在評論中問了這個問題已經有好幾年了,現在我要回答它。我認爲最好的辦法是不綁定到索引屬性。只需公開另一個屬性,在該屬性中getter將返回索引屬性(例如Contacts [ThisIsAnotherPropertyFromTheVm] .PhoneNumber) – Lance 2015-10-02 12:58:54
鏈接已中斷 – 2015-11-05 16:39:13