26

给定 ThisClassShouldBeTheDataContext 类的实例作为视图的 Datacontext

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 ?????}" />
4

1 回答 1

37

索引器表示法与 C# 基本相同:

<TextBox Text="{Binding Contacts[John].PhoneNumber}" />

有关详细信息,请参阅MSDN 中的绑定声明概述 > 绑定路径语法

当然,这不适用于任意数据类型......

于 2009-11-04T02:27:59.630 回答