我创建了一个自定义控件,允许用户从组合框中选择一个项目并将其添加到列表框中。 组合框项目源是控件的参数以及DisplayMemberPath。
<ComboBox DisplayMemberPath="{Binding DisplayMember, RelativeSource={RelativeSource TemplatedParent}}" />
ComboBox工作正常,问题出在Listbox中,因为我不知道如何正确设置绑定,我在Listbox的DataTemplate中尝试了这段代码:
<DataTemplate><TextBlock Text="{Binding DisplayMember, RelativeSource={RelativeSource Mode=TemplatedParent}}" /></DataTemplate>
但是我收到了这个错误:
BindingExpression路径错误:找不到'DisplayMember'属性 'object'''ContentPresenter'(Name ='')
DisplayMember包含属性的名称,例如FirstName,就像这样:
<Style TargetType="ListBox">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock Text="{Binding Path=FirstName}"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>