我正在尝试将我班级的“第二级”属性绑定到组合框。
我在做什么?我正在指定一个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的覆盖?
提前致谢,对不起我的英语。