none
В ListBox выводятся пустые строки RRS feed

  • Вопрос

  • Здравствуйте , подскажите пожалуйста почему могут не отображаться строки из observableCollection<string> Видно что число выводимых строк совпадает с количеством элементов , но они пустые почему то  
    Делаю так 

    Код C#
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    ObservableCollection<string> collection = new ObservableCollection<string>();
            private void AddNewLinkEventHandler(LinksCollection CollectionLink)
            {
                collection = ConvertLinkCollection(Link);
            }
     
            private ObservableCollection<string> ConvertLinkCollection(LinkCollection CollectionLink)
            {
                foreach (var t in CollectionLink.LinkColectionHelper)
                {
                    collection.Add(t.Link);
                }
                return collection;
            }
     
            public ObservableCollection<string> FindedLink
            {
                get
                {
                    return collection;
                }
            }
    и сам xaml 
    Код C#
    1
    2
    3
    4
    5
    6
    7
    
    <ListBox ItemsSource="{Binding FindedLink}">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Path=FindedLink}" Width="100"></TextBlock>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
    5 сентября 2014 г. 8:31

Ответы

  • У Вас свойство FindedLink одновременно является источником и для списка и для отдельного элемента списка. В привязке TextBlock нужно написать "Path=." или "Path=/", точно не помню, т.к. сам элемент коллекции должен быть источником привязки, а не какое-то его свойство.

    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!

    6 сентября 2014 г. 4:43

Все ответы

  • У Вас свойство FindedLink одновременно является источником и для списка и для отдельного элемента списка. В привязке TextBlock нужно написать "Path=." или "Path=/", точно не помню, т.к. сам элемент коллекции должен быть источником привязки, а не какое-то его свойство.

    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!

    6 сентября 2014 г. 4:43
  • Я передаю данные в XAML примерно так:

    class Bind
    {
    public string FindedLink { get; set; }
    }
    
    // Например в процедуре или в другой части кода использовать:
    // Bind b = new Bind();
    // b.FindedLink = "Текст который надо передать";

    В XAML использую так:

    <ListBox x:Name="ListBoxName">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding FindedLink}" Width="100"></TextBlock>
                    </DataTemplate>
                </ListBox.ItemTemplate>
    </ListBox>


    • Изменено vik12 13 сентября 2014 г. 18:25
    13 сентября 2014 г. 18:25
  • <ListBox ItemsSource="{Binding FindedLink}">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding}" Width="100"></TextBlock>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>


    [Блог] [Twitter]

    13 сентября 2014 г. 18:44