Я пытаюсь привязать свойство «второго уровня» моего класса к комбинированному списку.
Что я делаю?Я назначаю ObservableCollection как текстовый текст сетки, содержащей все мои текстовые поля и один комбинированный список.
Иерархия может быть описана как
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 - это еще одна ObservableCollection Bairro на этот раз.
Я пытался связать, используя
<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}"/>
, просто следуя этой ссылке от Microsoft .Сработало, но, так или иначе, я не хотел бы «заставлять» отображать всю коллекцию, переопределяя метод ToString.Я чувствую, что мог бы сделать это лучше, не будучи вынужденным переопределять ToString каждого отдельного класса, который я хотел бы отобразить позже, в комбо, сетке и т. Д.
Я только что провел хороший поиск в этом форуме, ноне смог найти ни одной хорошей подсказки.Можно ли как-нибудь реализовать это, избегая переопределения ToString?
Заранее спасибо и извините за мой английский.