ListBox Не показывать данные - PullRequest
       1

ListBox Не показывать данные

0 голосов
/ 01 декабря 2011

это мой XAML списка

<ListBox Height="100" Margin="12,12,8,0" Name="CategoriesList" VerticalAlignment="Top">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel>
                    <TextBox Text="{Binding Id}" Visibility="Collapsed" />
                    <TextBox Text="{Binding Title}" FontSize="40" IsReadOnly="True"/>
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

это мой класс

public class Categories 
{
    string Id { get; set; }
    string Title { get; set; }

    public Categories() { }

    public Categories(string value, string text) 
    {
        this.Id = value;
        this.Title = text;
    }
}

вот код назначения с фиктивными данными

        List<Categories> categoriesList = new List<Categories>();
        categoriesList.Add(new Categories("1", "One"));
        categoriesList.Add(new Categories("2", "Two"));
        categoriesList.Add(new Categories("3", "Three"));
        categoriesList.Add(new Categories("4", "Four"));
        categoriesList.Add(new Categories("5", "Five"));
        CategoriesList.ItemsSource = categoriesList;

список пуст, но пунктов 5, это означает, что заголовок не отображается ... не могли бы вы помочь мне

Ответы [ 2 ]

0 голосов
/ 01 декабря 2011

как сказал @ Ku6opr, сделав переменные общедоступными, список запустился ... благодаря ему

public class Categories 
{
    public string Id { get; set; }
    public string Title { get; set; }

    public Categories() { }

    public Categories(string value, string text) 
    {
        this.Id = value;
        this.Title = text;
    }
}
0 голосов
/ 01 декабря 2011

Вам необходимо установить / связать атрибут ItemSource ListBox с открытым списком категорий следующим образом ItemSource = {Binding CategoriesList}

Исходя из этого (где бы он ни находился):

List<Categories> categoriesList = new List<Categories>();
        categoriesList.Add(new Categories("1", "One"));
        categoriesList.Add(new Categories("2", "Two"));
        categoriesList.Add(new Categories("3", "Three"));
        categoriesList.Add(new Categories("4", "Four"));
        categoriesList.Add(new Categories("5", "Five"));
        CategoriesList.ItemsSource = categoriesList;

Вы используете локально объявленную переменную List.

Также, если вы намереваетесь каким-либо образом изменить содержимое списка, тогдавам будет проще, если ваш список Categories будет ObservableCollection.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...