Вот мир кода XAML с моей страницы:
<ComboBox Grid.Row="2" Grid.Column="1" Name="Player2" MinWidth="50"
ItemsSource="{Binding PlayersTest}" DisplayMemberPath="ShortName">
Пользовательский объект привязан к контексту данных страницы:
page.DataContext = new SquadViewModel();
Вот часть исходного кода класса 'SquadViewModel':
public class SquadViewModel
{
public SquadViewModel()
{
PlayersTest = new ObservableCollection<SostavPlayerData>();
PlayersTest.Add(new SostavPlayerData { ShortName = "A. Sereda", });
PlayersTest.Add(new SostavPlayerData { ShortName = "D. Sereda", });
}
public readonly ObservableCollection<SostavPlayerData> PlayersTest;
public string TestText { get { return "Binding works perfectly!"; } }
}
В результате ComboBox должен отобразить список объектов, но он пуст.
Знаете ли вы, почему и как получить этот список?
Спасибо.
P.S. Я пробовал другую разметку XAML
<ComboBox Grid.Row="1" Grid.Column="1" Name="Player1" MinWidth="50"
ItemsSource="{Binding PlayersTest}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding ShortName}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
Это также не работает, но привязка к простому текстовому блоку:
<TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding TestText}"/>
Отлично работает.