Переплет списков в silverlight 4 (c #) с помощью mvvm - PullRequest
2 голосов
/ 20 апреля 2011

У меня есть список, связанный с коллекцией PlaylistTracks. PlaylistTracks содержит идентификатор списка и идентификатор трека. Все треки хранятся в другой коллекции треков. Эта коллекция имеет название трека.

Могу ли я получить список для отображения названия трека из коллекции, к которой он не привязан? Примерно так:

<ListBox Name="PlayListTracksBox" 
ItemsSource="{Binding Path=PlaylistTracks, Mode=TwoWay}" 
DisplayMemberPath="Tracks.Name" 
SelectedItem="{Binding Path=SelectedListTrack, Mode=TwoWay}"></ListBox>

1 Ответ

2 голосов
/ 20 апреля 2011

Я считаю, что переопределение ToString() для любого класса PlaylistTracks было бы самым быстрым способом получить то, что вы хотите работать.Внутри ToString вам нужно было бы поместить любую логику, в которой вы нуждаетесь, чтобы найти правильный трек и вернуть оттуда имя.

Если вы можете получить имя трека в объекте верхнего уровня в вашем ItemsSource, тогдаболее «серебряный» способ заставить это работать - предоставить ItemTemplate и привязать его к чему угодно.Что-то вроде:

    <ListBox>
        <ListBox.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Tracks.Name}"></TextBlock>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...