假设我们有以下模板。
<DataTemplate>
<CheckBox Content="{Binding FirstName}"/>
</DataTemplate>
父控件绑定到 Blipp 类型的静态属性,定义如下。
class Blipp
{
public int Id { get; set; }
public String FirstName { get; set; }
public String LastName { get; set; }
}
如果我希望复选框显示全名怎么办?好吧,我可以定义一个新属性并绑定到它。
public String FullName { get { return FirstName + LastName; } }
<CheckBox Content="{Binding FirstName}" />
但那只是隐藏了实际的问题。如果我希望自由操纵内容的内容,该怎么办?有一天,也许我希望文本成为别的东西。是否真的有必要继续添加这样的额外属性?
public String Text1 { get { return FirstName + Id; } }
public String Text2 { get { return LastName + Id; } }
public String Text3 { get { return Id + ") " + FullName; } }
...
相反,我希望能够自定义 Content 属性。我尝试过以下但是编译器没有让我这么做。
<DataTemplate>
<CheckBox Content="{Binding FirstName} + {Binding Id}"/>
</DataTemplate>
有可能吗?怎么样?