powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF + Binding
5 сообщений из 5, страница 1 из 1
WPF + Binding
    #36577321
Crossificio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обнаружил, что в VS2010 Ultimate Trial, при попытке привязать коллекцию к ListBox, "желаемое" отображение получается лишь при переопределении метода ToString(). При указании же в биндинге Path = LastName или установки свойства DisplayMemberPath="LastName" я вообще не получаю отображаемых элементов. Если не указывать ни Path ни DisplayMemberPath, то просто получаю полное квалифицированное имя класса для каждого элемента коллекции. Что я делаю не так?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
namespace TestWpfApplication
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MyPersonList mpl;

        public MainWindow()
        {
            InitializeComponent();
            mpl = new MyPersonList();
        }            
    }    

    public class Person
    {
        public Person(string firstName, string lastName)
        {
            FirstName = firstName;
            LastName = lastName;
        }        

        string FirstName { get; set; }
        string LastName { get; set; }

        //public override string ToString()
        //{
        //    return LastName;
        //    // return base.ToString();
        //}
    }

    public class MyPersonList : List<Person>
    {
        public MyPersonList()
        {
            Add(new Person("Иван", "Иванов"));
            Add(new Person("Пётр", "Петров"));
            Add(new Person("Сидор", "Сидоров"));            
        }
    }      
}


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<Window x:Class="TestWpfApplication.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:obj="clr-namespace:TestWpfApplication"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <obj:MyPersonList x:Key="PersonData" />                 
    </Window.Resources>
    <Grid>
        <ListBox Height="311" HorizontalAlignment="Left" Name="listBox1" VerticalAlignment="Top" Width="163" 
                 ItemsSource="{Binding Source={StaticResource PersonData},  Path=LastName, Mode=OneWay}" />
    </Grid>
</Window>
...
Рейтинг: 0 / 0
WPF + Binding
    #36577909
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вроде конструктор по умолчанию нужен.
там вообщето dbg должен выдать ошибки. не смотрел?
...
Рейтинг: 0 / 0
WPF + Binding
    #36578340
eJack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно для листбокса описать datatemplate и все
...
Рейтинг: 0 / 0
WPF + Binding
    #36578356
Crossificio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибок не было, а проблема оказалась в отсутствии модификатора доступа public у свойств класса Person.
...
Рейтинг: 0 / 0
WPF + Binding
    #36578382
eJack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
<ListBox x:Name="ListboxPersone" Margin="10">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Label Content="{Binding Path=FirstName}"/>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF + Binding
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]