WPF:将嵌套属性绑定到组合框

时间:2010-06-21 17:56:09

标签: c# wpf combobox properties nested

我正在尝试将我班级的“第二级”属性绑定到组合框。

我在做什么?我正在指定一个ObservableCollection作为网格的datacontext,它包含我的所有文本框和一个组合框。

层次结构可以描述为

public class ListaLogradouro : ObservableCollection<Logradouro>
{

}

public class Logradouro
{
    public int CodLogradouro { get; set; }
    public string Cep { get; set; }
    public string Estado { get; set; }
    public string Cidade { get; set; }
    public ListaBairro Bairros { get; set; }
    public string Lograd { get; set; }
    public string Localizacao { get; set; }
    public string Complemento { get; set; }
    public string Numero { get; set; }

}

如你所见,“Bairros”这个属性是Bairro的另一个ObservableCollection。

我试图使用

进行绑定
<ComboBox Background="DarkGray" Height="23" HorizontalAlignment="Left" IsEditable="True" IsTextSearchEnabled="True" Margin="519,17,0,0" Name="cmbBairro" VerticalAlignment="Top" Width="202" IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding Path=CurrentItem.Bairros}"/>

关注this link from microsoft。工作了,但是,不知何故,我不喜欢通过重写ToString方法“强制”显示整个集合。我觉得我可以做得更好,而不是被迫覆盖我想稍后在组合,网格等中显示的每一个classe的ToString。

我刚刚在这个论坛中进行了很好的搜索,但是找不到任何好的线索。有什么方法可以实现它,避免ToString的覆盖?

提前致谢,对不起我的英语。

1 个答案:

答案 0 :(得分:1)

组合框上的

DisplayMemberPath允许您指定要从基础类显示的属性的路径