Bindig List для ListView в XAML не работает? - PullRequest
0 голосов
/ 02 мая 2018

Я прочитал все подобные посты, но не нашел решения для моей проблемы.

У меня есть следующий список:

private List<Character> _Characters;

public List<Character> Characters
{
    get { return _Characters; }
    set { Set(ref _Characters, value);}
}

По мере отладки кода все элементы (около 500) добавляются в список должным образом.

Мой XAML выглядит так:

<StackPanel Orientation="Horizontal">
    <TextBlock Text="Characters: " FontWeight="Bold" VerticalAlignment="Top" />
    <ScrollViewer VerticalScrollBarVisibility="Visible">
        <ItemsControl ItemsSource="{Binding Characters}" >
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <TextBlock  Text="{Binding Path=name}" IsTextSelectionEnabled="True" Margin="12" />
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>
    </ScrollViewer>
</StackPanel>

Однако, когда я запускаю программу, имена вообще не отображаются.

РЕДАКТИРОВАТЬ: Datacontext установлен в XAML:

<Page.DataContext>
    <vm:MyViewModel />
</Page.DataContext>

1 Ответ

0 голосов
/ 02 мая 2018

Попробуйте использовать ObservableCollection вместо List

private ObservableCollection<Character> _Characters;

public ObservableCollection<Character> Characters
{
    get { return _Characters; }
    set { Set(ref _Characters, value);}
}

также посмотрите на https://github.com/Fody/PropertyChanged

...